- Features
- Pricing
- English
- français
- Deutsch
- Contact us
- Docs
- Login

TL;DR
|
Takeaway: Having workloads on two clouds is not the same as being able to move workloads between them freely. Portability is about the friction of movement, not the number of providers in use.
Most teams that call themselves multicloud are not portable. They have separate workloads siloed on separate providers, each with its own toolchain, deployment pipeline, and set of operational conventions. Moving anything between those environments means starting from scratch.
That is not portability. That is redundancy with extra operational weight.
True cloud portability means your applications, services, and data can move between cloud environments without significant reconfiguration. The code stays the same. The deployment process stays the same. What changes is the underlying provider or region, and that change should be a deliberate choice, not a migration project.
Takeaway: Lock-in is not usually a single decision. It accumulates incrementally. Each provider-specific integration adds friction to any future move.
The technical barriers are real. Providers layer proprietary autoscaling policies, networking add-ons, and identity integrations on top of open technologies like Kubernetes and PostgreSQL, reintroducing lock-in above the open-source baseline.
The organizational barriers are equally significant:
A 2026 survey of 540 IT professionals found that 94% of organizations are concerned about vendor lock-in, with 84% specifically concerned about data sovereignty.
The gap between concern and action persists because the tooling most organizations use embeds provider assumptions at the infrastructure layer. Configuration files reference AWS-specific resource names. Environment variables point to Azure-hosted endpoints. By the time portability becomes urgent, the codebase has already absorbed years of provider-specific decisions.
Takeaway: Portable infrastructure means the deployment process describes application requirements, not provider-specific commands. The provider becomes a parameter, not a dependency.
Portability requires that your infrastructure configuration be written in a form that travels with your code rather than being tied to a specific provider's framework, console or CLI.
The practical requirements are:
This is the model Upsun uses for multicloud deployments. Infrastructure choices are managed through portable YAML files that are version-controlled alongside application code, and a consistent platform layer handles provider-specific differences. The same workflow deploys to AWS, Azure, Google Cloud, IBM, or OVHCloud depending on what region you select during project creation. Selecting the optimal cloud provider for each project requires no change to how the application is built or operated.
It also means that your engineers only need to understand one configuration and interface for all major providers. They don’t have to deal with context switching as they move from application to application.
That matters because it separates the where from the how. Engineers do not need to learn a new deployment model each time a workload moves or if it is determined an application should be with a certain cloud provider. They configure the application once and choose the provider and region independently.
Takeaway: Portability is the prerequisite for both real data sovereignty and credible resilience. Without it, multi-cloud is theater.
Two specific pressures make portability a practical requirement rather than a theoretical preference:
A team whose pipeline references AWS-specific resource names and endpoints can't fail over to Azure; they can redeploy, but that's a migration project under pressure, not resilience. Without portability, multicloud is theater.
Portability is not a one-time migration. It is an architectural posture that teams need to maintain consistently. Practically, that means:
The goal is not zero cloud-provider integration. It is controlled integration, where the cost of moving is low enough that provider selection remains a genuine choice.
What is the difference between cloud portability and multicloud?
Multicloud means running workloads on more than one provider. Cloud portability means that workloads can move between providers without rebuilding pipelines or rewriting configurations. A team can be multicloud and completely locked in at the same time. Portability is about the friction of movement, not the count of providers.
What does cloud-portable infrastructure require in practice?
Four conditions need to be true: deployment configuration lives in version-controlled files rather than a provider's dashboard; your pipeline describes what the application needs, not where it runs; provider and region selection are handled at the platform level; and data is stored in formats that can be migrated without a bespoke project.
How does cloud portability support data residency compliance?
Without portability, meeting regulations like GDPR across different regions typically means maintaining separate pipelines per geography. A portable model lets teams deploy to region-specific providers using the same configuration and workflow; when the region changes, the process does not.
Should you build an internal platform for portability or adopt one?
Building gives you control but creates a permanent maintenance obligation. Every new provider requirement becomes an engineering project, and your most senior engineers end up managing infrastructure instead of shipping product. An adopted platform absorbs that cost by design.