Many businesses are adopting an API-led integration strategy to drive agility and flexibility to meet changing market requirements. This allows them to connect an increasing number of technologies with a set of standardized and reusable API services. These services are key to creating a composable enterprise, unlocking value opportunities, and reducing the burden of integration to achieve digital transformation.
Challenges of designing for API portability across a multi-cloud strategy
Business stakeholders look to their digital counterparts and IT suppliers to address their evolving business requirements:
- Provide faster time-to-market to deliver new products and services
- Lower the cost of change and run
- Provide 24/7 availability
- Be secure by design
- Be resilient to failure
- Reduce risk
- Be responsive to market threats, opportunities, and regulations
- Offer a compelling return on investment
With these considerations, organizations often find it difficult to address these challenges while operating within the confines of their private cloud/on-premise estate without significant effort and financial investment. The modern approach to address these challenges is leveraging a hybrid and/or multi-cloud strategy to deliver connected digital experiences faster.
Every organization has Important Business Services (IBS) that support critical products, processes, and functions across the business. In the UK financial services industry, these even have special regulations attached to them.
So what if the digital product was defined as an IBS? Would this change the approach to leveraging public cloud? How do organizations ensure they stay flexible, agile, and responsive to opportunities without being locked into a cloud provider?
The cloud transformation journey
Over the years, we’ve seen successful and unsuccessful attempts at leveraging public cloud platforms and technologies. Those that were executed well adopted the following approach:
The journey varies for each organization according to the level of IT maturity and risk appetite. Organizations at the beginning of this journey will assess the different treatment strategies for safely moving their applications, data, and integrations to the cloud through rearchitecting (high degree of change), replatforming (some change), or simply rehosting (minimal change) based on the perceived costs and benefits.
The answer is different for each use case. We need to look at designing applications, data, and integrations for cloud adoption and portability early on to ensure both technical and business readiness for change while minimizing the effort and cost involved.
For organizations with a more mature cloud adoption, it’s important to look at how key digital services can be seamlessly and flexibly moved across clouds to prevent cloud vendor lock-in and provide an exit strategy.
What if another cloud provider offered a more compelling cost model or offered a greater range of best-of-breed technologies to complement a digital service? How would the digital service be seamlessly ported across clouds without significant investment?
What is API portability?
API portability is the ability to easily and flexibly move an API from one technology vendor/platform and/or cloud provider to another as part of a business transformation initiative or in the event of either a major operational issue or a stressed exit scenario. The definition of an API here includes the service contract, business implementation logic, and connectors to any backend applications or data sources.
API portability is a crucial element of an effective API strategy. This allows organizations to easily move across the cloud adoption phases outlined above, satisfy regulators in terms of risk, and be cloud-agnostic preventing lock-in while being agile and flexible to respond to business and market demands.
Designing for cloud adoption and portability
When considering a cloud transformation initiative, there are a number of core architecture and design best practices that are key to addressing the cloud adoption and portability challenges. If required, organizations can adopt these practices as principles, embed them into an API strategy, and enforce them through governance to ensure portability across an evolving hybrid/multi-cloud landscape.
1. Leverage open standards including security
Industry specifications for designing APIs: OpenAPI, RAML, GraphQL, AsyncAPI, and more – together with security standards: OAuth, OIDC, and others – are widely supported by modern enterprise technologies and allow API contracts to be portable across disparate API management and implementation solutions. Any API design should therefore adopt these standards to maximize interoperability and support.
2. Favor microservices
The adoption of a microservice-based architecture allows organizations to create reusable building blocks where the design of each microservice is business-oriented, interoperable, independently secured, agile, and scalable to meet demand. The result is a composable architecture that allows enterprises to quickly respond to market threats and opportunities through agility and innovation. Adopting a microservice approach facilitates portability and allows components of an application to be independently ported with less risk and disruption.
3. Leverage containers
Recent advances in container technology, particularly frameworks such as Docker and through key partnerships, provide the foundation for almost immediate deployment and un-deployment of applications without necessarily provisioning new physical or virtual hardware.
Containers are the ideal choice for microservice distribution and deployment, and they follow the microservice philosophy of encapsulating functionality and doing it well. All major public cloud offerings support containers providing portability, scalability, and interoperability.
4. Adopt loose coupling through architectural layering
Closely coupled application components lead to a brittle architecture that is not flexible, adaptable, or responsive to change. The adoption of loose coupling minimizes dependencies between services offered by API providers and their consumers. By standardizing on contracts as expressed through APIs, consumers are not impacted by changes in the implementation of the service. Adopting an API-led approach to connectivity and a loosely coupled architecture provides IT teams with autonomy, change independence, and agility while minimizing dependency management.
5. Leverage technologies that run on any cloud
Leveraging technologies which are cloud-agnostic and can run on any cloud provides portability in the true sense. This includes the ability to deploy APIs and integrations as applications on clouds, virtual machines, and physical servers while also changing deployment targets without having to redesign applications. Adopting this approach allows organizations to write applications and APIs once and run them anywhere.
Designing for portability as part of a cloud adoption/transformation journey is no easy task. When done well, it allows organizations to satisfy regulators and prevent cloud-provider lock-in while being agile and flexible to respond to market demands. The following five best practices are key to designing solutions for portability and should be adopted as part of an organization’s API strategy:
- Leverage open standards including security
- Favor microservices
- Leverage containers
- Adopt loose coupling through architectural layering
- Leverage technologies that run on any cloud.
MuleSoft’s Anypoint Platform supports all of these best practices with a proven approach, technology, and operating model allowing organizations to effectively build and manage a fully composable enterprise that is both portable and resilient across a hybrid/multi-cloud strategy.
MuleSoft’s Anypoint Platform provides a single technology that operates across all cloud types allowing APIs and integrations to be deployed anywhere