Most cloud migrations fail not at the cutover, but in the boring middle: the dependency map nobody finished, the shared library nobody owned, the DNS record nobody remembered. Industry surveys have repeatedly found that a large share of cloud migration projects run over budget or over schedule, and replatforming is where that pain concentrates. Replatforming sits in the awkward middle of the migration spectrum: you keep the application’s code largely intact but swap the runtime underneath it, moving to managed databases, managed containers, or a platform service. It is less glamorous than a rewrite and less risky than a lift-and-shift, but only if the implementation is sequenced correctly. This guide walks through the steps in the order that experienced teams actually run them, including the mistakes that quietly derail projects. (Cloud computing)
What replatforming actually means, and what it does not
The widely cited migration strategies framework popularized by cloud vendors divides moves into categories: retire, retain, rehost, relocate, replatform, repurchase, and refactor. Replatforming means changing the platform layer, not the application logic. Moving a self-managed PostgreSQL cluster to a managed database service is replatforming. Moving a virtual machine to a container on a managed orchestrator is replatforming. Rewriting a monolith into microservices is refactoring, and treating the two as the same thing is one of the most common planning errors.
The distinction matters because replatforming promises a specific trade: modest engineering effort in exchange for operational gains such as managed patching, backups, and scaling. If the target platform requires code changes beyond configuration and driver updates, the project has drifted into refactoring and needs a different budget and timeline.
Step 1: Inventory the estate before touching anything

You cannot replatform what you cannot see. Start with a complete inventory that captures, for every application: runtime version, dependency list, data stores, scheduled jobs, external integrations, authentication mechanisms, and the human owner. Automated discovery tools help, but they only find what is running, not what is dormant, deprecated, or running on someone’s laptop.
A practical tip from teams that have done this repeatedly: build the inventory as a shared spreadsheet or database that the application owners edit themselves, and make completion a gate for the next phase. Central teams that fill in the inventory on behalf of application teams almost always produce a document that is confidently wrong.
Common mistake: skipping the ownership column. When the migration wave reaches an application with no named owner, it stalls for weeks while the team hunts for someone who remembers why a cron job exists.
Step 2: Score and sequence the candidates
Not every application should be replatformed, and not every replatforming should happen in the same quarter. Score each candidate on business criticality, technical complexity, dependency count, and expected operational benefit. A simple weighted matrix beats a sophisticated model nobody trusts.
| Candidate type | Typical fit for replatforming | Watch out for |
|---|---|---|
| Stateless web tier on VMs | Strong: move to managed containers | Session state stored locally |
| Self-managed relational database | Strong: move to managed service | Extensions and custom functions |
| Legacy monolith with deep coupling | Weak: consider rehost or refactor | Hidden shared libraries |
| Batch jobs with cron scheduling | Moderate: move to managed schedulers | Timezone and retry assumptions |
| Vendor appliance | Poor: repurchase instead | Licensing lock-in |
Sequence the easiest high-value candidates first. Early wins build the organizational trust you will need when a harder application inevitably slips. If your estate spans multiple providers, a structured comparison of the major platforms helps you choose targets deliberately rather than by default; this breakdown of AWS vs Azure vs Google Cloud in 2026 is a useful starting reference.
Step 3: Map dependencies, including the embarrassing ones
Dependency mapping is where replatforming projects live or die. Document network flows, service-to-service calls, shared file systems, message queues, identity providers, and certificate chains. Pay special attention to:
- Shared libraries that are installed manually on hosts rather than declared in a package manifest.
- Hardcoded IP addresses and hostnames buried in configuration files.
- Implicit ordering between services that start in a particular sequence.
- Database extensions that the managed target does not support.
A useful exercise is to have each application owner draw the system on a whiteboard from memory, then compare it to the discovery tool output. The gap between the two drawings is your real risk register.
Step 4: Design the target platform and prove it with a pilot
Choose the target platform with explicit criteria: managed service maturity, cost model, compliance posture, and the operational burden you are actually trying to remove. Write down what you are not changing. A replatforming design document should state clearly that application logic stays as-is, which prevents scope creep from enthusiastic engineers.
Then run a pilot with one or two low-risk applications. The pilot’s job is not to prove the platform works in a demo; it is to prove your team can operate it. Measure deployment time, rollback time, and the number of manual steps required. Teams that skip the pilot and go straight to wave one usually discover their runbooks are fiction at the worst possible moment.
If your target involves managed Kubernetes, the upgrade path is a replatforming project in itself; a detailed walkthrough of an EKS cluster upgrade to Kubernetes 1.37 shows how much sequencing detail a single platform change can hide.
Step 5: Prepare the data migration separately
Data moves on a different schedule than compute, and conflating the two is a classic error. Decide early whether you will use a one-time dump-and-restore, continuous replication with a short cutover window, or a dual-write pattern. Each has trade-offs in downtime, complexity, and rollback options.
Practical guidance that holds up across database engines: rehearse the data migration at least twice on production-sized data, and time it. A migration that takes four hours on a test dataset and forty minutes in the runbook is a migration that will blow through its maintenance window. Also verify that the target platform supports the character sets, collations, and extensions your application assumes. These details rarely appear in architecture diagrams but reliably appear in incident reports. (What is Cloud Migration?)
Step 6: Rebuild the operational layer along with the runtime
Replatforming changes who is responsible for patching, backups, and failover. That shift is the point, but it requires deliberate work. Before cutover, confirm that monitoring, alerting, log aggregation, secret management, and access control all work against the new platform. A managed database that nobody has configured alerts for is less safe than the self-managed one it replaced.
Storage deserves its own decision. Moving application data to managed object storage or a managed file service changes latency characteristics and access patterns, and teams frequently underestimate the difference. A clear-eyed look at cloud storage vs local storage key differences helps set expectations before performance testing rather than after.
Common mistake: assuming the platform’s default backup retention matches your compliance requirement. It usually does not.
Step 7: Cut over with a rehearsed rollback
Cutover planning should specify the sequence of DNS changes, traffic shifts, and verification checks, with a named person responsible for each. The rollback plan must be tested, not merely written. If rolling back means restoring a database backup from six hours earlier, say so explicitly and get business sign-off on the data loss window.
Run the cutover in a game-day exercise with the real participants. Teams that rehearse cutover report far fewer surprises than teams that rely on a document. Keep the old platform running in a degraded but functional state for a defined stabilization period, and resist the urge to decommission early.
Step 8: Validate, then decommission on a schedule
Post-cutover validation should include functional smoke tests, performance baselines, and a review of the first week’s incidents. Compare actual costs against the business case; replatforming frequently delivers operational wins while cost savings arrive more slowly than promised.
Decommissioning is the step everyone forgets. Set a hard date, remove credentials, and archive the final configuration. Zombie infrastructure from half-finished migrations is a persistent security and cost problem, and it undermines the credibility of the next migration wave.
Mistakes that show up again and again
Across projects, a handful of failure patterns repeat. Treating replatforming as an infrastructure ticket rather than an application project. Letting the central platform team own application-level decisions. Skipping the pilot because the deadline is tight. Underestimating the operational learning curve for managed services. And perhaps most damaging: declaring victory at cutover rather than at decommissioning, which leaves the organization paying for two platforms and trusting neither.
The teams that succeed tend to share one habit: they keep the scope small per wave, document decisions as they go, and treat each migration as a chance to improve the runbook for the next one. Replatforming is a repeatable process, not a series of heroic one-offs.
Conclusion
Cloud replatforming rewards sequencing discipline more than technical brilliance. Inventory honestly, score candidates, map dependencies including the ones nobody documented, pilot before you scale, migrate data on its own track, rebuild the operational layer, rehearse the cutover, and decommission on a schedule. None of these steps is exotic. What separates successful programs is that they finish each step before starting the next, and they write down what they learned so the second wave costs less than the first.
FAQ
How long does a typical replatforming project take?
For a single mid-sized application, most teams should budget six to twelve weeks from inventory to decommissioning, with the pilot phase absorbing a disproportionate share of the effort. Waves of similar applications get faster as runbooks mature. The biggest schedule risk is dependency discovery, which routinely adds weeks if the inventory was incomplete.
Is replatforming cheaper than refactoring?
Usually yes, because the application code stays largely intact and the effort concentrates on configuration, data migration, and operations. Refactoring can deliver larger long-term gains but carries higher delivery risk. The right comparison is not cost alone but cost against the operational benefit you actually need within your planning horizon.
Do we need to change application code to replatform?
Ideally only minimally: connection strings, driver versions, health check endpoints, and configuration for managed services. If the target platform demands changes to business logic, the project has become a refactor. Recognizing that boundary early protects both the budget and the timeline.
What should be in a replatforming rollback plan?
A tested procedure, a named owner, a defined trigger for invoking it, and an explicit statement of the data loss window. The plan should cover DNS and traffic reversal, data state reconciliation, and communication to stakeholders. Untested rollback plans are aspirational documents, not risk controls.
How do we choose which applications go first?
Pick low-criticality applications with high operational pain and few dependencies. They generate early wins, surface platform gaps while the blast radius is small, and produce runbooks the harder waves depend on. Avoid starting with the flagship system, however tempting the visibility.
When should the old platform be shut down?
After a defined stabilization period, typically two to four weeks of clean operation, and only once monitoring confirms the new platform is genuinely carrying the load. Set the decommission date at cutover planning time, not afterward, and assign someone to enforce it.
One final practice ties the program together: hold a short retrospective after each wave and feed the findings directly into the next wave’s checklist. Update the inventory, correct the dependency map, and revise the runbook while the details are still fresh. Programs that treat lessons learned as a one-time document at the end rarely improve; programs that revise their process between waves compound their gains. Keep a running register of platform gaps and escalate it to the provider or your platform team on a fixed cadence, so recurring friction gets fixed centrally instead of being absorbed by every application team. Do that, and replatforming stops being a heroic project and becomes routine operational work.


