Insights & Blog

Cloud Portability Across AWS, Azure and Google Cloud: Reducing Lock-In Without Lowest-Common-Denominator Design

How to achieve cloud portability across AWS, Azure and Google Cloud: levels of portability, a portable-core architecture, equivalent services, trade-offs and a tested exit plan.

By Hetal KCloud, DevOps & Azure

Cloud portability across AWS, Azure and Google Cloud: a portable core of containers and Kubernetes, infrastructure as code, open data formats, OpenTelemetry and a tested exit plan, with each provider's managed services kept behind interfaces.

Cloud Portability Across AWS, Azure and Google Cloud: Reducing Lock-In Without Lowest-Common-Denominator Design

Cloud portability is the ability to move applications and data between AWS, Azure, Google Cloud or on-premises environments with acceptable time, cost and risk. The practical goal is not to run identically everywhere, which forces a lowest-common-denominator design and gives up the managed services that make cloud valuable. Instead, keep a portable core of containers, infrastructure as code, open data formats, standard observability and identity, place cloud-specific managed services behind clear interfaces, and maintain a tested exit plan. That balance reduces lock-in and supports regulatory resilience requirements without sacrificing speed.

Key takeaways

  • Define portability goals per workload: some need a fast exit path, most need only a credible one.
  • Make data portable first; it is usually the hardest and most expensive part to move.
  • Containers, Kubernetes and infrastructure as code cover much of workload portability.
  • Use managed services where they add value, wrapped behind interfaces you control.
  • Write and test an exit plan, including data egress cost and identity changes.

Why cloud portability matters now

  • Resilience. Major outages and changing provider terms make dependency on a single provider a business risk.
  • Regulation. Rules such as the EU’s Digital Operational Resilience Act (DORA) expect financial entities to manage concentration risk and maintain exit strategies for critical ICT providers.
  • Data sovereignty. Some customers or regulators require specific regions or providers. See GDPR-compliant cloud architecture.
  • Commercial leverage. A credible ability to move strengthens pricing negotiations.
  • Acquisitions. Merged organisations often run on different clouds.

Levels of cloud portability

LevelWhat is portableTypical techniques
DataData and its schema can be exported and reloaded elsewhereOpen formats such as Parquet, standard databases, documented schemas
WorkloadApplication runtime moves with little changeContainers, Kubernetes, twelve-factor configuration
InfrastructureEnvironments can be recreated in another cloudInfrastructure as code with tools such as Terraform or OpenTofu
OperationsMonitoring and deployment work across cloudsOpenTelemetry, CI/CD pipelines independent of one provider
Identity and securityUsers and services authenticate consistentlyFederated identity, standards-based protocols, external secrets management

A portable-core architecture

A portable core with managed services at the edgesApplicationsContainersTwelve-factor configService interfacesPlatformKubernetesInfrastructure as codeCI/CDDataOpen formatsStandard databasesDocumented schemasOperations and identityOpenTelemetryFederated identityExternal secretsProvider services (behind adapters)Managed DBsQueuesAI servicesA portable core with managedservices at the edgesApplicationsContainersTwelve-factor configService interfacesPlatformKubernetesInfrastructure as codeCI/CDDataOpen formatsStandard databasesDocumented schemasOperations and identityOpenTelemetryFederated identityExternal secretsProvider services (behind adapters)Managed DBsQueuesAI services
The core moves with little change; provider-specific services sit behind adapters you control.

Run application services in containers on Kubernetes or a compatible container platform; see AKS vs Container Apps vs App Service. Define environments with infrastructure as code and keep landing-zone patterns consistent; see the Azure landing zone checklist. Store analytical data in open formats. Where you use a provider’s managed database, queue or AI service, access it through your own interface or adapter so a replacement affects one component, not the whole codebase.

Equivalent services across AWS, Azure and Google Cloud

CapabilityAWSAzureGoogle Cloud
Managed KubernetesAmazon EKSAzure Kubernetes ServiceGoogle Kubernetes Engine
Object storageAmazon S3Azure Blob StorageCloud Storage
Managed PostgreSQLAmazon RDS / AuroraAzure Database for PostgreSQLCloud SQL / AlloyDB
MessagingAmazon SQS / SNSAzure Service BusPub/Sub
Serverless functionsAWS LambdaAzure FunctionsCloud Run functions
Generative AI modelsAmazon BedrockAzure AI FoundryVertex AI

Equivalent does not mean identical: features, limits and pricing differ. Use the providers’ own mappings, such as Azure for AWS professionals and the Google Cloud service comparison, and test the details that matter to your workload.

Trade-offs to avoid

Balancing portability against cloud valuePortable coreHigh portability, high value: containers,IaC, open data, adaptersDeep managed servicesLower portability, high value: use with anexit planLowest common denominatorHigh portability, lower value: runningeverything yourselfUnplanned lock-inLow portability, low value: avoidPortability: higher (left) to lower (right)Value from cloud servicesBalancing portability againstcloud valuePortable coreHigh portability, high value: containers, IaC,open data, adaptersDeep managed servicesLower portability, high value: use with an exitplanLowest common denominatorHigh portability, lower value: runningeverything yourselfUnplanned lock-inLow portability, low value: avoidAxes: Portability: higher (left) to lower (right);Value from cloud services
Aim for the top row: portable where it matters, managed services where they pay off.
  • Lowest common denominator. Avoiding every managed service means running and securing more yourself.
  • Active-active everywhere. Running the same workload live in two clouds doubles cost and complexity; reserve it for systems that truly need it.
  • Ignoring data gravity. Large data sets and egress charges can make moving impractical unless planned for.
  • Abstraction for its own sake. Wrap services where switching is plausible, not everywhere.

Writing a cloud exit plan

  1. List critical workloads and their provider-specific dependencies.
  2. Choose a target for each: another cloud, on-premises or a replacement service.
  3. Estimate time, cost and data egress for each move.
  4. Document identity, networking and security changes.
  5. Test the plan, for example by deploying a workload to a second environment from code.
  6. Review the plan annually or when architecture changes.

If you do move, the techniques in zero-downtime cloud migration apply between clouds too.

Common questions

What is cloud portability?

The ability to move applications and data between cloud providers or on-premises environments with acceptable time, cost and risk.

Is multi-cloud the same as portability?

No. Multi-cloud means using several providers; portability means being able to move a workload. You can be portable on one cloud, or multi-cloud without portability.

Does Kubernetes make applications fully portable?

It makes the runtime largely portable, but data, managed services, identity, networking and operations still need planning.

How do we avoid vendor lock-in without losing managed services?

Use managed services behind your own interfaces, keep data in open formats, define infrastructure as code and maintain a tested exit plan.

What does cloud portability cost?

Mostly design discipline and some abstraction work, plus testing. Full active-active multi-cloud is far more expensive and rarely needed.

Build cloud architecture that keeps your options open

Share your workloads and resilience or regulatory requirements. Our cloud and DevOps team will design a portable core, decide where managed services pay off and write an exit plan you can test.

From insight to implementation

Turn these ideas into a practical plan

Discuss how the ideas in this article apply to your business, systems and data. We’ll help you identify a focused first step.