CLOUD CONCEPT

7 Rs of Migration

The 7 Rs of Migration are seven strategies for deciding whether and how to move applications and workloads to the cloud.

Cloud Concepts Hub →

What is 7 Rs of Migration

The framework classifies workloads as rehost, relocate, replatform, repurchase, refactor or re-architect, retain, or retire. It helps engineers choose an approach that balances business value, migration effort, operational risk, and long-term architecture goals rather than assuming every application should move unchanged.

The 7 Rs of Migration are a workload-level decision framework, not seven sequential migration phases. Each application or component receives an appropriate strategy based on its business purpose, dependencies, technical constraints, and expected benefits. A portfolio can use all seven strategies, and different components of one application can follow different paths.

Rehost, often called lift and shift, moves a workload to cloud infrastructure with minimal application changes. For example, an organization might migrate a virtual machine running an internal reporting application to a cloud virtual machine. This can reduce migration time and avoid immediate code changes, but it usually preserves existing architectural limitations. Rehosting does not automatically deliver elasticity, high availability, or lower costs; engineers still need suitable instance sizing, security controls, backups, and operational processes.

Relocate moves an existing infrastructure environment to a compatible cloud environment without redesigning the applications within it. A typical example is moving a collection of virtual machines at the hypervisor or infrastructure-platform level while preserving their execution environment. Unlike rehosting individual servers onto cloud-native virtual machines, relocation emphasizes continuity of the existing platform. Compatibility, licensing, available destinations, and continued platform administration influence whether it is practical.

Replatform, sometimes called lift, tinker, and shift, introduces targeted platform changes without fundamentally redesigning the application. Moving a self-managed database to a compatible managed database service is a common example. The provider takes over some infrastructure administration, but engineers must still check database features, extensions, permissions, connection behavior, and performance. A managed destination does not make application compatibility automatic.

Repurchase replaces an existing application with another product, commonly software as a service. Replacing a custom customer-management system with a subscription application can reduce maintenance responsibilities, but requires evaluating functionality, integrations, data export, user training, and recurring charges. Refactor or re-architect instead changes the application's design to meet business requirements, such as separating independently scaling components or adopting event-driven processing. This can improve agility and resilience, but usually requires more development effort, testing, and organizational change.

Retain means keeping a workload in its current environment, at least for now. Regulatory constraints, latency dependencies, unsupported software, or an unfavorable business case can justify this choice. Retire means decommissioning a workload that no longer provides sufficient value. Before retirement, confirm ownership, dependencies, retention obligations, and any need to preserve historical data. Neither strategy is a failed migration decision.

Apply the framework after collecting an inventory and mapping application dependencies. Evaluate downtime tolerance, data volume, licensing, skills, security requirements, and total cost, including the temporary expense of running source and destination environments together. Group tightly connected components into migration waves where necessary, and define validation, cutover, and rollback criteria before execution.

Database replication is a migration technique, not an eighth R. An initial data load followed by ongoing change replication can support a rehost or replatform approach while reducing the final outage window. For example, replicate a database into a compatible managed destination, validate data and application behavior, pause source writes, allow replication to catch up, and switch connections. Replication alone does not convert incompatible schemas or guarantee zero downtime. For exam scenarios, distinguish the desired workload strategy from the tools and data-transfer mechanisms used to implement it.

Key aspects of 7 Rs of Migration

The seven strategies separate migration, modernization, replacement, postponement, and decommissioning decisions so each workload receives an appropriate treatment.

Rehost: move with minimal application changes

Move an existing workload onto cloud infrastructure while largely preserving its software and architecture. This favors migration speed, but cost optimization and architectural improvements often remain follow-up tasks.

Relocate: preserve the infrastructure platform

Move workloads at the infrastructure-platform level to a compatible cloud environment without redesigning their applications. Check platform compatibility, licensing, and operational responsibilities before selecting this approach.

Replatform: make targeted platform improvements

Change selected platform components while retaining the application's core architecture, such as moving a database to a compatible managed service. Validate features and performance rather than assuming the destination is a drop-in replacement.

Repurchase: replace the existing product

Adopt a different product, commonly a SaaS application, instead of migrating the existing implementation. Plan for data migration, integration changes, user adoption, and subscription costs.

Refactor or re-architect: redesign for requirements

Change application architecture to achieve goals such as independent scaling, improved resilience, or faster releases. Balance those benefits against development effort, testing, and increased operational complexity.

Retain: keep the workload where it is

Leave a workload in its current environment when moving it is not currently justified or feasible. Record the reason and review it when business or technical constraints change.

Retire: remove unnecessary workloads

Decommission applications that no longer provide sufficient value. Verify dependencies and preserve required records before shutting down infrastructure and ending licenses.

Cloud services for 7 Rs of Migration

Choose the workload strategy before choosing migration tools. AWS Application Migration Service can replicate servers for rehosting, while AWS Database Migration Service can load databases and replicate ongoing changes during a database move. Amazon RDS can serve as a managed destination when replatforming a compatible relational database. AWS DataSync handles supported file and object transfers needed by the application. These services address different migration components rather than forming a mandatory sequence. Coordinate their use around dependencies, compatibility tests, data validation, access controls, and a documented cutover and rollback plan.

AWS Application Migration Service image AWS Application Migration Service

Supports rehosting supported physical, virtual, and cloud-based servers to AWS by replicating source-server data and launching converted servers on Amazon EC2. Test launches help validate migrated workloads before cutover; the service does not redesign application architecture.

Open AWS Application Migration Service →
Amazon RDS image Amazon RDS

Provides managed relational database destinations for replatforming supported database workloads. Moving to RDS shifts tasks such as underlying infrastructure management and automated backup execution to the service, while customers remain responsible for data, access configuration, and application compatibility.

Open Amazon RDS →
AWS DataSync image AWS DataSync

Transfers file and object data between supported storage systems and AWS storage services. It supports the data-movement portion of a migration, but does not select a migration strategy or migrate application execution environments.

Open AWS DataSync →