The bill for leaving the cloud is higher than most teams expect. Egress fees, proprietary data services, and migration effort stack up in a way that rarely shows up in the cost models used to justify moving to the cloud in the first place. That is the real mechanism of cloud provider lock-in. It is softer than a contract clause and harder to remove than a switch.
Egress Fees Reward Staying
Data egress is money charged for moving data out of a provider’s network. The rates look small on a pricing page. They stop being small when a workload that moves terabytes a day starts running somewhere else.
Egress is a per-byte tax on leaving. The provider sets the price. The customer pays it every time data crosses the boundary, and the transaction is invisible until the bill arrives. Teams that run analytics, log-heavy platforms, or backup pipelines see this cost earliest.
For a workload that stays inside the provider, moving data between services is often free. That is not a performance feature. It is a financial incentive that makes the cloud look cheap while you are in it and expensive once you want out.
Enterprise buyers feel this most sharply. A single large environment can push enough telemetry and stored data that the egress line exceeds several smaller services combined. Finance teams that reviewed the compute spend miss it entirely, because the charge arrives under a label most of them never read.
Contract negotiation makes this murkier. Enterprise discounts bundle many services into one rate, so the blended price is hard to see. Once the workload is split across a migration, it becomes nearly impossible to compare the new provider against the old deal item by item.
Proprietary Services Multiply the Price
The bigger lock-in is software. Managed databases, queueing services, object storage with provider-specific APIs, identity systems, and monitoring all carry their own conventions. Each one appears convenient on adoption.
Then the team wants to leave. Application code that calls a provider’s proprietary SDK now needs a rewrite. The rewrite is not a small task. It touches every service that uses that API, and it changes how data is stored, queried, and secured.
This is why cost is not the only factor. Time is the factor. Teams that estimate migration by CPU and storage cost miss the engineering effort that dominates the real project. A database that took weeks to model takes months to move.
The pattern compounds. Access controls written into a provider’s identity system are not portable. Secrets held in a provider’s vault are not exportable as-is. Alerting rules borrowed from a provider’s monitoring stack describe infrastructure that no longer exists. Every layer adds a migration task that nobody scoped.
Lifting and shifting to a different provider does not fix this. The replacement service usually has a similar shape, so the team rewrites the interface and then starts the portability conversation again. The switch becomes a repeatable expense rather than a one-off.
The Exit Budget Is the Real Budget
The cloud providers are not hiding this. Egress pricing and proprietary service breadth are documented and sold as features. The catch is that the cost structure is asymmetric. Staying is cheap. Leaving is expensive.
Repatriation stories keep surfacing as a result. Teams that moved workloads to the cloud and then moved them back cite data transfer costs and service portability as the deciding pressures. The lesson from those projects is not that the cloud is bad. It is that the exit price is part of the total cost of admission.
The practical move is to model the exit before the entry. Ask what it costs to get out while you still have options. If a fixed cost of leaving is hard to estimate, that estimate is your most valuable planning number.
Some teams do this well. They keep a benchmark workload that runs on the primary and the backup provider, and they fund a quarterly test of the backup path. That practice turns an abstract risk into a known cost. The migration is no longer a surprise, because it has already been rehearsed.
The takeaway is blunt. Cloud provider lock-in does not bind you with a contract. It binds you with a bill that grows every time you consider leaving. Plan the exit first, and you make the decision about staying with honest numbers. Learn more about pricing pages.
