Cloud agility does not guarantee an affordable exit

Cloud services made it faster to deploy systems, expand capacity with demand, and pay for resources as they are used. They also shortened procurement and reduced purchases of hardware that would sit idle outside peak periods. But starting and expanding a deployment says little about the cost of leaving its provider. An application can be technically movable while the work needed to relocate it makes leaving financially impractical.

The cost of leaving grows through choices about architecture, deployment, security, integration, and daily operations. These choices can make an alternative too expensive or disruptive to use, even when it meets the application’s technical requirements. A credible cloud exit strategy makes that dependence a conscious business decision. The organization understands what it gains from its provider, which alternatives could meet its needs, and what changing providers would require.

Assess portability before selecting services

Making that decision requires exit architecture: advance design work that preserves the ability to move systems when circumstances change. Changes can involve pricing, regulation, outages, geopolitical concerns, vendor strategy, and business priorities. Teams can use cloud services, including provider-specific services, while planning for those changes. Different environments can use different implementations as long as the organization understands the work needed to move between them.

Planning ahead matters because business conditions can change faster than production architecture. A price increase, an unavailable region, or a new rule governing data location can make the current deployment unsuitable. A major outage can also expose how much of the business relies on one provider. An exit requiring a two-year rewrite, or spending large enough to alarm the board, would offer little immediate protection.

Such delays become more likely as teams accumulate dependencies while solving immediate delivery and operating problems. Identity becomes tied to the provider’s access model, data relies on proprietary services or interfaces, and network designs assume cloud-specific arrangements. Infrastructure templates carry those assumptions into later deployments. Monitoring, logging, secrets such as credentials, encryption-key management, and deployment pipelines can also depend on the provider’s control plane, the management services that configure and operate the environment.

Each dependency may bring a worthwhile benefit, especially when a managed service reduces engineering work. The difficulty comes when leaving requires several dependent layers to change together. Service selection should therefore include an assessment of portability: the ability to implement the system elsewhere at an understood cost. Architecture review can establish what an alternative would require before production systems become committed to the selected service.

Okoone experts
LET'S TALK!

A project in mind?
Schedule a 30-minute meeting with us.

Senior experts helping you move faster across product, engineering, cloud & AI.

Please enter a valid business email address.

Assess identity, data, and network dependencies together

The assessment starts with what an application needs to work outside its current environment. Moving compute, the processing resources that run its software, offers little value if users cannot sign in, data loses its meaning, or essential connections become too expensive. Identity, data, and networking impose different constraints, so each needs its own examination. The results show which dependencies must change together for the move to succeed.

Identity rules must remain understandable elsewhere

Identity deserves early attention because access rules can tie application behavior closely to one provider. Heavy reliance on provider-native identity becomes a migration problem when workloads, the applications and processes doing the work, move, operate across multiple clouds, or face new regulatory limits on where access decisions occur. Authentication establishes who or what is requesting access; authorization determines what that identity may do. A replacement environment needs to understand both.

Keeping those decisions understandable across environments requires clear boundaries between enterprise identity and individual cloud deployments. Standards-based federation lets a system rely on an external identity authority, while SAML, OAuth, and OpenID Connect provide standards for exchanging identity information and granting access. Enterprise identity can therefore remain independent of a cloud deployment. Human identity, workload identity, service-to-service identity, and authorization policy still need separate treatment so that changing one does not force teams to rebuild all four.

This separation matters when a service account, cloud role, permissions boundary, and application authorization decision form one provider-dependent arrangement. The service account identifies a workload, while the role and permissions boundary help determine its allowed actions. If application logic relies on that exact arrangement, migration requires the team to interpret and rebuild its access decisions. A federation standard leaves that application-level work to the organization.

An identity review should therefore establish who the user is, which workload is acting, what each may access, and where the governing policy lives. Can another environment express those rules without requiring engineers to reverse-engineer authorization throughout the application? If it cannot, record the dependency as a portability limit. The business can accept that limit knowing that moving the software will also require redesigning access.

Data must remain usable after extraction

Once access can be rebuilt, the next constraint is whether the application’s data can move and remain useful. Data volume and the systems consuming it can make relocation harder than moving compute, while governance requirements, transfer costs, and formats add restrictions. Managed databases, object storage, analytics platforms, and AI data services reduce operating work. Selecting them also requires a plan for using their data outside the original service.

The plan needs to cover the full migration sequence: extract the data, transform it for the destination, validate the result, and load it into the replacement environment. Extraction completes the first step, but the destination still needs enough structure and context to interpret the records correctly. A successful export can therefore leave substantial migration work unfinished. Architecture decisions should account for the whole sequence before a service becomes essential to production.

The structure and context needed for migration extend beyond the records themselves. Formats determine how information is represented, metadata describes it, and lineage records its origins and changes. Encryption, retention rules, and replication arrangements also affect what can move and how it can be used afterward. When those properties are accessible only through a provider-specific service, teams may have to reconstruct them after exporting the data.

Service selection should turn these dependencies into concrete questions. Can the service export standard formats, and can the organization access its documented schemas, the definitions of its data structures, independently of the platform? Does control over encryption keys allow migration, and can the destination consume the exported information without rebuilding every data pipeline? The answers establish whether the organization retains usable information and how much surrounding work relocation would require.

With the data requirements understood, the review can assess execution: transfer cost, elapsed time, and how to check correctness. Those answers determine whether the alternative would work under the conditions that might force a move. The business can still choose managed services when their operating benefits justify the migration burden. That includes databases that are neither open source nor operated by the enterprise itself.

Network relationships can make movement uneconomic

Even usable data and transferable access rules leave an application dependent on its connections. Applications communicate with users, partners, data centers, software-as-a-service platforms, application programming interfaces or APIs, message brokers that pass messages between systems, security tools, and other cloud services. These connections carry assumptions about where each participant runs. Moving an application changes those relationships and can require cooperation from teams or organizations outside its owner’s control.

A network design that can be recreated elsewhere makes those location assumptions explicit. Teams need planned addresses, documented connectivity, and a Domain Name System, or DNS, that can direct requests to a changed service location. Traffic management should support new destinations without forcing application changes through hard-coded endpoints, fixed addresses embedded in software. Private connections also need identified alternatives so that relocation has a defined way to restore access.

Restoring access must also make financial and operational sense. Egress charges, the fees for sending data out of a provider’s environment, can make ongoing communication expensive after one component moves. Greater distance between connected systems can increase latency, or response delay, enough to make an interaction unsuitable. The review should therefore identify expensive data flows and delay-sensitive dependencies before treating workloads as independently movable.

These findings show which workloads must move together and which can operate separately. Relocating a single application may require coordinated changes to data services, access rules, connections, and operating tools. The cost assessment must therefore include time, redesign effort, and business disruption alongside transfer charges. Together, those consequences determine whether the destination is a usable business alternative.

Infrastructure as code must expose implementation choices

Once those dependencies are understood, deployment definitions need to show how they are implemented. Infrastructure as code uses machine-readable definitions to provision and configure resources consistently, but those definitions may describe resources available only from one provider. Repeated deployment then reproduces the same dependence. Recreating an environment establishes reproducibility; implementing its requirements elsewhere establishes portability.

Provider-specific modules, embedded assumptions, access policies, naming conventions, and deployment workflows can all carry that dependence into templates. Native tooling may still be an effective way to operate the selected platform. Architecture review should weigh that operating value against the work another implementation would require. Reliable templates answer the deployment question while leaving the migration question open.

Answering the migration question starts with separating the system’s required capabilities from the resources currently providing them. Those capabilities include its compute profile, permitted network exposure, storage durability, database behavior, identity model, observability requirements, and recovery objectives. Observability is the information operators use to understand system behavior, including logs and monitoring; recovery objectives define the required outcome after disruption. Together, these requirements provide a basis for assessing an alternative implementation.

The team can then map provider-specific resources to those requirements and classify the migration work. Some elements will transfer readily, some will be difficult to move, and others will need redesign. The assessment should also identify components deliberately tied to the provider because their value justifies that choice. This mapping makes the redesign burden visible before a migration becomes urgent.

Making the burden visible still leaves room for different implementations across environments. Restricting every platform to the smallest shared set of capabilities can weaken the systems involved while leaving important dependencies unresolved. Teams can instead use native implementations and record the commitments each creates. The useful degree of separation is the one that makes consequential changes understandable.

Approve native services with an explicit exit burden

Once the consequences are understood, accepting provider dependence can be a sound business decision. Managed databases, event systems, security services, AI platforms, and serverless capabilities can reduce operating work and speed delivery. Serverless services, for example, give the provider more responsibility for running the underlying infrastructure. Choosing that arrangement also commits the organization to the work needed to replace it elsewhere.

Those benefits raise a practical question: how much should an organization invest in exit architecture when a native service could save millions in operational spending or bring a product to market sooner? Such gains can justify adopting the service. Assessing departure requirements lets decision-makers weigh the benefit against the resulting dependence. It also makes the service’s future constraints part of the same decision as its immediate value.

The approval process should begin by recording the service’s benefit and the specific dependency it creates. The organization can then estimate exit costs and identify alternatives that meet the relevant requirements. That assessment should include redesign, transfer time, and workloads that must move together. Business stakeholders need to understand both the expected gain and the obligations they would face if circumstances changed.

Before approval, stakeholders should judge whether the organization could bear those obligations under the conditions likely to require departure. A technically suitable destination has limited practical value when its spending, delay, or disruption exceeds what the business can accept. Stakeholders may still decide that operating savings or faster delivery justify a difficult exit. The decision record should state whether the organization is preserving an actionable alternative or accepting continued dependence, together with the cost and disruption it is prepared to bear.

Concluding thoughts

A cloud exit strategy gives leaders a basis for deciding how much provider dependence the business can accept. The aim is not to make every system easy to move. It is to understand where leaving would require substantial spending, redesign, or disruption, and whether the benefits of staying justify those commitments.

That judgment belongs in service selection and investment approval. Engineering teams can identify dependencies and estimate the work needed to replace them. Business leaders must decide whether the resulting cost and delay are acceptable under the conditions that could force a move. An alternative that works technically may offer little protection if the organization cannot afford to use it.

Those decisions also need review as pricing, regulation, business priorities, and production systems change. A dependency accepted for good reasons can become harder to justify over time. Keeping its exit burden visible allows leaders to retain it deliberately, reduce it where necessary, or fund an alternative before departure becomes urgent.

Alexander Procter

November 9, 2026

11 Min

Okoone experts
LET'S TALK!

A project in mind?
Schedule a 30-minute meeting with us.

Senior experts helping you move faster across product, engineering, cloud & AI.

Please enter a valid business email address.