Request an exact quote
Cloud Adoption & Repatriation migration path

From On-Premise Infrastructure to Amazon Web Services

Moving on-prem workloads to AWS, the 6 Rs decision, landing zone and connectivity, AWS MGN/DMS replication, and the steady-state cost reality that sometimes argues for staying put.

Effort
Medium
Est. timeline
~15 wks
Amazon Web Services model
Usage-based (compute + egress)
Open source
No
▶ Model your savings in the interactive calculator

Moving on-premise infrastructure to AWS buys elasticity, managed services, and a shift from CapEx to OpEx, eliminating hardware refresh cycles and datacenter overhead. But cloud is not automatically cheaper: for steady-state workloads, cloud run-cost can exceed amortized on-prem hardware. The honest first step is deciding which workloads should move and how, and being willing to conclude that some shouldn’t.

Decide per workload: the 6 Rs

Don’t move everything the same way. Classify each workload:

  • Rehost (“lift and shift”), replicate the VM as-is to EC2; fastest, least optimization.
  • Replatform, minor changes, e.g. self-managed DB → RDS.
  • Refactor, re-architect for cloud-native services (highest effort, highest payoff).
  • Repurchase, move to a SaaS equivalent.
  • Retain, leave it on-prem (steady-state, latency-bound, or compliance reasons).
  • Retire, decommission what’s unused.

The classic mistake is rehosting everything and being surprised by the bill. Spiky, elastic, or growth workloads win in the cloud; flat, predictable, high-utilization workloads often don’t.

A useful way to sequence the 6 Rs is by risk and payoff. Retire first, because the cheapest workload to migrate is one you delete, and most estates carry servers no one has justified in years. Then rehost the low-risk, stateless services to prove the pipeline end to end. Save refactor for workloads where cloud-native services genuinely change the economics or the operability, since it is the highest-effort path and not every workload earns it. Repurchase where a SaaS equivalent removes the workload from your plate entirely. The point of classifying up front is that it forces the awkward conversations, such as which systems are latency-bound to the datacenter or bound by data-residency rules, before those constraints derail a cutover.

Landing zone and connectivity come first

Build the AWS landing zone first: accounts (Organizations), networking (VPC, subnets, security groups), identity (IAM/SSO), and guardrails. Establish connectivity, Direct Connect for sustained bandwidth or a Site-to-Site VPN for smaller estates, both for replication and for hybrid operation during the transition.

The native tooling: MGN, DMS, DataSync

  • Servers: AWS Application Migration Service (MGN), block-level replication of on-prem VMs/physical servers into EC2 with minimal downtime.
  • Databases: AWS DMS (full load + CDC) to keep the target current until cutover.
  • Bulk data: DataSync for file shares; Snowball for very large datasets where network transfer is impractical.

Re-platform infrastructure as code (CloudFormation/Terraform) and map each on-prem service to a managed equivalent where you’re replatforming.

Data movement and connectivity

Match the transfer method to the data. Databases ride DMS with change data capture so the source keeps serving users while the target catches up, which is what makes near-zero-downtime cutover possible. File shares and unstructured data move with DataSync over your Direct Connect or VPN link, and for the largest datasets a Snowball device sidesteps the bandwidth problem entirely by shipping disks. Size the connectivity to the replication window you need, not just to steady-state traffic: an underbuilt link is the most common reason a migration slips. Where you are replatforming a self-managed database onto RDS, treat the engine version and extension compatibility as a checklist item before the pilot, not a discovery during it.

Codify the target, and keep Retain reversible

Stand up the AWS side as code, not console clicks. CloudFormation or Terraform gives you a reviewable definition of the target, a staging copy to pilot against, and a repeatable pattern so each successive workload is cheaper to land than the last. Encode the network, the IAM model, and the guardrails together so security is designed in rather than retrofitted. This is also what makes the “Retain” decision reversible later: if a workload you left on-prem eventually earns its way to the cloud, the landing pattern is already written and tested.

Pilot, cut over, then validate against the business case

  1. Replicate a pilot workload + database end to end and validate before scaling.
  2. For each group: final delta sync via MGN/DMS, freeze source writes, cut over DNS (Route 53), and validate apps, integrations, and cost.
  3. Run a hypercare window with on-prem as fallback; keep replication until sign-off.

The acceptance bar is functional + integration parity, performance at baseline, validated cost, and a DR/failover test, and an honest check that the cloud run-cost matches the business case. Cutover is not finished when the VMs boot: it is finished when the workload behaves correctly, costs what you modeled, and survives a simulated failure. Pilot a single low-risk workload through this whole sequence first, so the runbook and the rollback path are proven before you point production at AWS.

Model the steady-state cost honestly

Before committing, baseline each workload’s steady-state cloud run-cost against amortized on-prem (hardware + power + space + ops). Egress, inter-AZ transfer, and managed-service premiums are what tip steady workloads back toward on-prem. If the numbers don’t favor the cloud for a given workload, “Retain” is a legitimate, money-saving answer, that’s exactly what the calculator is for.

The honest recommendation

On-premise → AWS pays off for elastic, growth, and spiky workloads, and the native tooling (MGN, DMS, DataSync) makes the mechanics routine, but rehosting steady-state workloads blindly is how cloud bills balloon. Classify with the 6 Rs, lead with the landing zone, pilot before scaling, and model steady-state cost honestly. Use the per-vCPU calculator above to compare, and treat the figures as illustrative until your pilot and real utilization confirm the business case.

Tooling & automation for this path

Set up Direct Connect / VPN; replicate servers with AWS Application Migration Service (MGN) and databases with AWS DMS; rebuild IaC (CloudFormation/Terraform); cut over via Route 53.

Primary references: official Amazon Web Services documentation ↗ , always verify version-specific behavior against them before you migrate.

Frequently asked questions

Do I need Direct Connect, or is a VPN enough to migrate to AWS?

It depends on the size of the estate and the replication throughput you need. A Site-to-Site VPN is quick to stand up and fine for smaller estates, while Direct Connect gives sustained, predictable bandwidth for large or replication-heavy migrations and for ongoing hybrid operation. Establish connectivity before you start replicating, because it carries both the migration traffic and the hybrid links during transition.

How do AWS Application Migration Service and DMS divide the work?

AWS Application Migration Service (MGN) does block-level replication of your on-prem VMs or physical servers into EC2 with minimal downtime. AWS DMS handles the databases with a full load plus change data capture so the target stays current until cutover. For file shares use DataSync, and for datasets too large to move over the wire in a reasonable window use Snowball.

How do I decide which workloads should not move at all?

Use the 6 Rs and be willing to land on Retain. Flat, predictable, high-utilization workloads often cost more on metered cloud than on amortized on-prem hardware, and latency-bound or compliance-bound systems may have to stay. Baseline each workload's steady-state cloud run-cost against on-prem before you rehost it: the calculator above is exactly for that comparison.

What does the acceptance test look like before I trust the AWS environment?

Functional and integration parity, performance at or above your on-prem baseline, validated steady-state cost against the business case, and a successful DR or failover test. Cutover is not done when the VMs boot: it is done when the workload behaves correctly, costs what you modeled, and can survive a failure. Keep on-prem as a fallback through hypercare until all of that is signed off.

Model your 3-year cost

Pre-filled for On-Premise Infrastructure → Amazon Web Services; adjust every figure with your own numbers. Estimates are illustrative, not vendor quotes, see our methodology.

Sized at 256 workload vCPUs, cost is computed on this.
Stay on On-Premise Infrastructure (3yr)
$192,000
Move to Amazon Web Services (3yr + migration)
$566,880
Projected extra cost
$374,880 (195%)
Payback period
-
Build a decision report from these numbers:

How this is licensed: On-prem cost here is amortized hardware + power + ops per vCPU; cloud cost is usage-based. For steady-state workloads the cloud run-cost is often higher (so repatriation saves), while the cloud's value is elasticity, agility, and opex. Set $/vCPU to your real amortized or committed rates.

Illustrative, editable figures, not vendor pricing (defaults reviewed May 2026).

Request a vendor-accurate Amazon Web Services quote

A guided builder that turns your estimates into a requirements report (RFQ) you can send to a vendor, partner, or distributor for a binding quote, then feed the real prices back into the calculator above. How our estimates work.

  1. 1Size it
  2. 2Requirements
  3. 3Your details
  4. 4Channels & export

How big is your On-Premise Infrastructure estate?

Count the OS/database server VMs and their typical vCPU allocation. Licensing usually counts all vCPUs on each VM. Not sure? Enter rough numbers, the distributor confirms exact counts later.

256 workload vCPUs
Default mid-size assumption (256 workload vCPUs)