Chapter 7. Portability

Portability is sometimes a concern when building cloud native applications. The application might have a requirement to be deployed across multiple cloud providers or even on-premises. These requirements are generally driven by stakeholders, whether they are customers using the application or the business building the application. It might be the case that the application is deployed by the customer, either on their own hardware or in their own account on the cloud provider of their choice. Regardless of the reasons, the requirement for portability should be treated like any other architecturally significant requirement. It should be driven by the business with careful consideration to the costs and trade-offs.

Why Make Applications Portable?

There are many good reasons to make applications portable. Portability should be a requirement, and the trade-offs and costs associated with the feature should be considered. Following are some of the reasons why software vendors make applications portable:

  • Building an application that’s deployed into a customer’s environment and there’s a requirement to offer deployment into the customer’s choice of cloud provider or on-premises.

  • Building a hybrid application that runs in the cloud and on-premises, where some of the services in the application run in both environments.

  • Services need to be near a customer’s application in order to minimize latency. These could be services that store or analyze data, for example. ...

Get Cloud Native now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.