Skip to content

How to migrate to AWS without stopping operations

Ink drawing of a box halfway across a paper bridge, with an arrow pointing to a cloud on the far side.

Short answer: AWS migrations don't fail because of the technology. They fail because nobody defined what moves first, what depends on what, and what happens if something goes wrong during cutover. What keeps the business running (shifts, invoicing, the plant floor) is an honest inventory, a migration order that starts with low-risk systems, a tested rollback plan, and an abort criterion agreed on before anyone touches production.

This checklist organizes what has to be resolved before, during, and after cutover. It's written for on-premises servers or a hosting provider moving into an AWS account, which is how we work in AWS cloud and DevOps.

What do you inventory before moving anything?

No migration starts at the server. It starts with an inventory of what exists and how it's actually used today, not how the diagram says it should be used:

The deliverable is a table, not a diagram: system, users, dependencies, window, license, owner.

What migrates first, and with which strategy?

Not everything migrates the same way. AWS describes seven migration strategies (the "7 Rs": retire, retain, rehost, relocate, repurchase, replatform, refactor) in its large migration guide (https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-guide/migration-strategies.html). In practice, for a company leaving on-premises servers, they reduce to three decisions per system:

StrategyWhat it meansWhen it applies
RehostMove the machine as is (to EC2)Systems that work well and aren't worth touching yet
ReplatformAdjust without redesigning: managed database (RDS), S3 storage, load balancerSystems that benefit from no longer managing servers, without rewriting code
RefactorRedesign from the ground up, usually to serverless (Lambda, DynamoDB, API Gateway)Legacy systems that no longer support the current operation, or that are worth rewriting

And two that get forgotten: retire what nobody uses (it shows up in the inventory) and retain what stays put because of licensing or hardware.

Order matters more than technique. Start with what causes operational pain but carries low risk if something goes wrong: a file server, a test environment, a secondary application. Never start with the most critical system; that's where there's the least room to learn as you go.

Why is the rollback plan not optional?

A backup that has never been restored isn't a backup; it's an assumption. Before moving anything, test a full restore in an isolated environment and confirm the data arrives intact and usable, not just that the backup file exists.

The abort criterion is defined before cutover, not during it:

What does the cutover window look like, step by step?

  1. Freeze changes on the source system so no data moves mid-cutover.
  2. Sync the final data between source and target.
  3. Validate on the target with real use cases, not just synthetic tests: an invoice, an order, a closing report.
  4. Cut over: redirect DNS, connections, and access to the new environment.
  5. Monitor with the whole available team, not just whoever led the migration.
  6. Confirm the cutover or roll back, per the agreed abort criterion.

Each step's timing is rehearsed beforehand in a dry run with test data. Whatever wasn't rehearsed, nobody knows how long it takes.

Why isn't AWS cheap by default?

AWS bills for what you use, not what you provisioned once, and that's only an advantage if you size correctly. Size for your operation's actual usage, not the historical peak that happened once; over-provisioning "just in case" is the most common way a migration ends up costing more than the infrastructure it replaced.

Key points for the budget:

What do you validate after cutover?

Cutover isn't the end of the project; it's the start of operating in the new environment.

This is where SRE and observability make the difference between a migration that holds up on its own and one that accumulates technical debt from day one. Every item can be planned in more or less detail depending on the size of the operation, but none can be skipped without taking on a risk that, sooner or later, costs more than the time it would have taken to do it right.

Frequently asked questions

Does migrating to AWS mean interrupting operations?

It depends on the system. With an order that starts with low-risk systems, data synced ahead of time, and a rehearsed cutover window, each system's interruption shrinks to the window agreed with the team that uses it. What can't be promised is "zero downtime" before seeing the inventory.

What if we're already on another cloud or a hosting provider?

Same evaluation: inventory, dependencies, total cost. If what you have works and pencils out, we say so. We don't force a provider change.

Is the AWS account ours or ozeida's?

Yours. We work inside the client's AWS account; infrastructure, access, and billing stay under your company's name.

How much does a migration cost?

It depends on the number of systems, the strategy per system, and how much needs redesigning. The plan includes the monthly AWS cost estimate built with the public calculator, and the project cost is quoted in writing after the first call.


Running on-premises servers that already cost more than they return? Tell us about your case. On the first call, free of charge, we go through the inventory with you and tell you where to start.