Cloud & DevOps Trending

Cloud Migration Checklist: The 7 Rs, Step-by-Step Plan and Cost Traps

A practical cloud migration checklist: the 6 and 7 Rs explained, a phase-by-phase plan from discovery to cutover, and the cost traps that blow budgets.

Quick answer

A cloud migration checklist covers 4 phases: assess and inventory every workload, plan a secure landing zone and pick a strategy for each app using the 7 Rs, migrate in small waves with tested rollback, then validate and optimize costs. The biggest traps are data transfer fees, oversized instances, idle resources and paying for 2 environments too long.

Cloud Migration Checklist: The 7 Rs, Step-by-Step Plan and Cost Traps

Photo: Unsplash

On this page

Most cloud migrations don’t fail on the technology. They fail on surprises: an app nobody knew depended on a 15-year-old database, a cutover weekend that ran into Monday, or a first cloud bill that made the finance team call an emergency meeting.

A good cloud migration checklist turns those surprises into line items you handle in advance. This guide walks through the migration strategies known as the 6 or 7 Rs, a phase-by-phase checklist you can adapt, and the cost traps that catch even experienced teams.

Why migrations go over time and budget

The usual causes are predictable:

  • Incomplete inventory. Teams migrate what they know about and discover the rest when it breaks.
  • Hidden dependencies. Apps talk to each other in ways nobody documented.
  • One strategy for everything. Lifting and shifting every workload, or rebuilding every workload, both create problems.
  • No cost model. On-premises designs carried into the cloud often ignore data transfer, storage tiers and idle capacity.
  • Running 2 environments too long. Paying for the data center and the cloud at the same time eats savings.

The 6 Rs and 7 Rs of cloud migration

Many older guides list 6 migration strategies. AWS’s current Prescriptive Guidance lists 7, adding relocate. Microsoft’s Cloud Adoption Framework uses a similar set of “Rs” and assigns one to each workload based on its business driver.

Strategy What it means When it fits
Retire Decommission or archive the app No business value, unsupported software, or no recent use
Retain Keep it where it is for now Compliance, recent upgrades, hardware dependencies, or waiting for a SaaS version
Rehost (lift and shift) Move without changing the app Fast moves at scale; optimize later
Relocate Move at the hypervisor level to a cloud version of the same platform Large VMware-style estates moving quickly
Repurchase (drop and shop) Replace with a SaaS or different product Commodity apps like email, CRM or HR
Replatform (lift, tinker and shift) Move with some optimization, such as a managed database Quick wins without a rewrite
Refactor or re-architect Redesign to use cloud-native features Strong business need for scale or speed

AWS notes that refactoring is the most complex and costly strategy. For large migrations, it recommends rehosting, relocating or replatforming first and modernizing after the move.

AWS also gives a useful rule of thumb for retiring apps. It describes “zombie” applications as those averaging below 5% CPU and memory use, and “idle” ones as between 5% and 20% over 90 days. Use your discovery data to find them, because every app you retire is one you don’t have to migrate or pay for.

Key takeaway: Choose a strategy per workload, not per company. Retire what you can, rehost or replatform most of the rest, and save refactoring for the few apps where it clearly pays off.

Phase 1: assess and discover

  • Define the business goals: cost, resilience, speed, data center exit date or compliance.
  • Inventory every server, database, app, file share and scheduled job, using a discovery tool rather than spreadsheets alone.
  • Map dependencies between apps, including external services and integrations.
  • Capture baseline performance metrics such as CPU, memory, storage IOPS and peak load.
  • Record each workload’s SLA, recovery point objective (RPO) and recovery time objective (RTO).
  • Flag unsupported or end-of-support components as blockers or post-move fixes.
  • Classify data by sensitivity and note residency or regulatory rules.
  • Confirm software license terms for cloud use.
  • Assign each workload a strategy from the 7 Rs.

Microsoft’s Cloud Adoption Framework stresses checking automated discovery against what workload owners know, because tools can miss undocumented dependencies.

Phase 2: plan and design

  • Build a landing zone: account or subscription structure, networking, identity and guardrails.
  • Set up identity with single sign-on and MFA, and apply least privilege. Our guide to zero trust security explains the model.
  • Define tagging standards so every resource has an owner, environment and cost center.
  • Configure logging, monitoring and alerting before workloads arrive.
  • Design backup and disaster recovery for each tier.
  • Model costs at several usage levels, including data transfer.
  • Group workloads into waves, starting with simpler, non-production systems.
  • Choose a cutover method per workload: planned downtime or near-zero downtime.
  • Write a rollback plan for every wave.
  • Communicate timelines to users and stakeholders.

Phase 3: migrate in waves

  • Run a pilot wave with low-risk workloads to test tools and runbooks.
  • Replicate data and test synchronization before cutover.
  • Freeze changes on systems in the current wave.
  • Run functional, performance and security tests in the target environment.
  • Cut over during an agreed window with the rollback plan ready.
  • Update DNS, firewall rules, certificates and integration endpoints.
  • Hold a short retrospective after each wave and update the runbook.

Common cutover mistakes

  • Skipping the rehearsal. Run a full dress rehearsal of the cutover for important workloads, including the rollback.
  • Forgetting DNS time-to-live. Lower TTL values days before cutover so traffic switches quickly.
  • Ignoring hard-coded addresses. Old IP addresses and hostnames buried in configs and scripts break integrations.
  • No clear go or no-go call. Agree in advance who decides, based on which test results.
  • Declaring victory too early. Keep the team on watch for the first business day after each wave, when real users arrive.

Who should be in the room

A migration touches more people than the infrastructure team. Name an owner for each workload who can sign off on testing, a security lead who approves the landing zone and access model, a finance contact who reviews cost forecasts, and a communications lead who tells users what’s changing and when. Small companies may have 1 person wearing several hats, which is fine as long as every role has a name next to it.

Treat infrastructure as code from the first wave. Teams with a good internal platform migrate faster and more consistently; see our piece on platform engineering.

Phase 4: validate, optimize and decommission

  • Compare performance against the baselines from Phase 1.
  • Confirm backups run and test a restore.
  • Rightsize instances based on real usage after a few weeks.
  • Buy commitments or savings plans only for steady, proven workloads.
  • Shut down and decommission the old servers on a fixed date.
  • Close out data center contracts and hardware support.
  • Hand ongoing cost ownership to a FinOps practice.

Cloud cost traps to avoid

Cost trap Why it happens How to avoid it
Data transfer fees Charges depend on source, destination and volume; designs from on-premises ignore them Model data flows early; keep chatty services in the same zone or region
Cross-region and cross-zone traffic Multi-region designs add transfer charges Make multi-region a deliberate choice, not a default
NAT and endpoint charges Traffic routed through NAT gateways or interface endpoints adds hourly and per-GB fees Use gateway endpoints where available; place NAT near heavy traffic
Oversized instances Teams copy on-premises sizes Rightsize from real metrics after migration
Idle and zombie resources Test environments and orphaned disks keep running Tag everything, schedule shutdowns, review regularly
Double running costs Old and new environments overlap for months Set decommission dates per wave
Licensing surprises Some licenses cost more or aren’t portable in the cloud Check terms during assessment
Premature commitments Buying reserved capacity before usage settles Wait for steady-state data

AWS’s Well-Architected cost optimization guidance specifically warns that data transfer fees are often neglected in designs carried over from on-premises, and it recommends modeling them per component.

Leaving a cloud later can also cost money. AWS offers free data transfer out to the internet for customers moving all their data off AWS, but you must request it through AWS Support before starting and it excludes some specialized services. Check current terms with any provider you’re considering.

For a deeper look at controlling cloud bills after you move, read our guide to FinOps and cloud cost optimization.

Where to start

  1. Pick a business goal and a date. “Exit the data center by Q3” focuses decisions better than “move to the cloud.”
  2. Run discovery for 2 to 4 weeks. Let tools collect real utilization and dependency data.
  3. Retire first. Remove zombie and idle apps before you plan anything else.
  4. Build the landing zone and guardrails. Security, identity, tagging and logging come before workloads.
  5. Migrate a pilot wave. Learn on low-risk systems.
  6. Scale in waves and optimize as you go. Rightsize, decommission and review costs after every wave.

Energy use is another reason to retire idle systems; our article on AI data center energy covers the wider picture.

Conclusion

A cloud migration checklist won’t remove every surprise, but it moves most of them to the planning stage where they’re cheap to fix. Inventory everything, choose a strategy per workload, migrate in small waves with rollback plans, and treat cost as a design requirement from day 1.

Sources

Questions readers ask

Frequently asked questions

What are the 7 Rs of cloud migration?

The 7 Rs are retire, retain, rehost, relocate, repurchase, replatform and refactor. They describe the options for each workload: shut it down, keep it where it is, lift and shift it, move it at the hypervisor level, replace it with SaaS, move it with some optimization, or redesign it for cloud-native features. AWS's current guidance uses all 7; older guides often list 6, without relocate.

What is the difference between the 6 Rs and the 7 Rs?

The 7 Rs add relocate to the earlier list of 6 strategies. Relocate means moving servers at the hypervisor level to a cloud version of the same platform, without buying new hardware or rewriting apps. The other 6 strategies, retire, retain, rehost, repurchase, replatform and refactor, are the same in both lists, though some sources use slightly different names.

How long does a cloud migration take?

It depends on the number of workloads, their dependencies and the strategies you choose. A handful of rehosted servers can move quickly, while a large estate with refactoring can take much longer. Discovery and planning often take as long as the moves themselves. Migrating in waves, starting with a low-risk pilot, gives you a realistic pace for the rest.

What is the first step in a cloud migration?

The first step is setting a clear business goal and then building a complete inventory of your workloads. Use discovery tools to capture servers, databases, apps, dependencies and real utilization, and confirm the results with the people who own each system. That inventory drives every later decision, from which apps to retire to how you group migration waves.

Why is my cloud bill higher than expected after migration?

Common reasons are oversized instances copied from on-premises, idle or forgotten resources, data transfer charges between zones, regions or the internet, and paying for old and new environments at the same time. Rightsize based on real usage, tag every resource with an owner, schedule shutdowns for non-production systems, and set firm decommission dates for old servers.

Is lift and shift a good cloud migration strategy?

Lift and shift, or rehosting, is a good strategy for moving many workloads quickly with low risk, and AWS recommends it for large migrations. The trade-off is that you don't gain much cloud efficiency at first. Plan to rightsize and modernize after the move, and use replatforming or refactoring only where the business benefit is clear.

Do I need a landing zone before migrating?

Yes, you should build a landing zone before moving production workloads. It sets up your account structure, networking, identity, security guardrails, logging and tagging so every workload lands in a consistent, governed environment. Skipping it usually means retrofitting security and cost controls later, which is slower and riskier than doing it first.

Reader reviews

Was this guide useful

No reviews yet. Share your experience and help other readers.

Write a review
Your rating
Never shown publicly

Reviews are checked before they appear. We never show your email. Please review only places or services you have used.

Manishdai
Written by

Manishdai

Manishdai writes about the technology that is reshaping every industry — from AI agents and cloud platforms to healthtech, fintech and the IT companies building it all across the United States.