Migration Strategies
The 7 Rs of cloud migration — a decision framework for moving workloads to AWS, from simple rehosting to complete retirement.
Overview
Cloud migration strategies — commonly known as the 7 Rs (originally 6 Rs from AWS, with Relocate added later) — provide a decision framework for determining how each workload should move to the cloud, ranging from simple lift-and-shift to full re-architecture.
The 7 Rs
| Strategy | Also Called | Description | Effort | Cloud Benefit |
|---|---|---|---|---|
| Retire | Decommission | Turn off applications that are no longer needed | Lowest | N/A |
| Retain | Revisit / Do nothing | Keep in current environment; not ready or not worth migrating | Lowest | None |
| Relocate | Hypervisor-level lift | Move VMware workloads to VMware Cloud on AWS without modification | Low | Low |
| Rehost | Lift and shift | Move to cloud with no code changes (EC2, same OS, same stack) | Low | Low–Medium |
| Replatform | Lift, tinker, shift | Make minor optimisations during migration (e.g., RDS instead of self-managed DB) | Medium | Medium |
| Repurchase | Drop and shop | Move to a different product, typically SaaS (e.g., on-prem CRM → Salesforce) | Medium | Varies |
| Refactor | Re-architect | Redesign using cloud-native services (Lambda, DynamoDB, containers) | Highest | Highest |
Decision Flow
Start: Assess each application
│
├── Still needed? ──No──→ RETIRE
│
├── Ready to migrate? ──No──→ RETAIN (revisit later)
│
├── Running on VMware? ──Yes──→ RELOCATE (VMware Cloud on AWS)
│
├── Need to change platform?
│ ├── No changes needed ──→ REHOST (lift and shift)
│ ├── Minor optimisations ──→ REPLATFORM (managed DB, containers)
│ └── Replace with SaaS ──→ REPURCHASE (drop and shop)
│
└── Need cloud-native benefits? ──Yes──→ REFACTOR (re-architect)Strategy Deep Dive
Retire
- Identify and decommission applications that have no business value or active users
- Reduces cost, complexity, and security surface before migration
- Typically 10–20% of an application portfolio can be retired
Retain
- Applications with recent upgrades, complex dependencies, or unresolved compliance issues
- Plan to revisit after the initial migration wave
- Not a permanent strategy — reassess on a regular cadence
Relocate
- Move VMware-based workloads to VMware Cloud on AWS without conversion
- Same VMware tools, same vSphere management, now running on AWS infrastructure
- Fastest path for VMware-heavy environments
Rehost (Lift and Shift)
- Migrate servers as-is using AWS Application Migration Service (MGN) or VM Import/Export
- No application code changes — same OS, same configuration
- Fastest migration path; optimise later in a second phase
- Common first step for large-scale data center exits
Replatform (Lift, Tinker, Shift)
- Make targeted optimisations without changing core architecture
- Examples: self-managed MySQL → Amazon RDS, Apache → Elastic Beanstalk, on-prem storage → S3
- Moderate effort with meaningful operational improvements
Repurchase (Drop and Shop)
- Replace existing application with a SaaS or marketplace equivalent
- Examples: on-prem email → Amazon WorkMail or Microsoft 365, on-prem CRM → Salesforce
- May require data migration and user retraining
Refactor (Re-Architect)
- Redesign application to be cloud-native using serverless, containers, event-driven patterns
- Highest effort but greatest long-term benefit (scalability, cost efficiency, agility)
- Typically reserved for strategic applications that need new capabilities
- Examples: monolith → microservices, scheduled batch → event-driven Lambda
Quick Reference
| Strategy | Code Changes | Infrastructure Changes | AWS Tools / Services |
|---|---|---|---|
| Retire | None | Decommission | AWS Migration Hub (discovery + tracking) |
| Retain | None | None | N/A |
| Relocate | None | VMware migration | VMware Cloud on AWS |
| Rehost | None | EC2, same OS | Application Migration Service (MGN), VM Import |
| Replatform | Minimal | Managed services | RDS, Elastic Beanstalk, ECS |
| Repurchase | N/A | SaaS adoption | AWS Marketplace |
| Refactor | Significant | Cloud-native services | Lambda, DynamoDB, API Gateway, Step Functions |
AWS Implementation Options
| Migration Phase | AWS Service | Purpose |
|---|---|---|
| Discovery | AWS Application Discovery Service / Migration Hub | Inventory servers, dependencies, utilisation |
| Planning | AWS Migration Hub (Strategy Recommendations) | Recommend R strategy per application |
| Server migration | AWS Application Migration Service (MGN) | Automated rehost (VM → EC2) |
| Database migration | AWS DMS + SCT | Migrate databases with minimal downtime |
| Data transfer | AWS DataSync / Snow Family | Online and offline data transfer |
| VMware migration | VMware Cloud on AWS | Relocate strategy |
| Modernisation | AWS App2Container, Microservice Extractor for .NET | Containerise or decompose applications |
SAA/SAP Exam Tips
SAA Tip: "Migrate to AWS with minimal changes and fastest timeline" → Rehost (lift and shift) using Application Migration Service. "Reduce operational overhead during migration" → Replatform (e.g., self-managed DB → RDS).
SAP Tip: The exam tests understanding of WHICH strategy to recommend for a given scenario. Key signals: "no code changes" → Rehost. "Reduce licensing costs" → Replatform or Refactor. "Move to SaaS" → Repurchase. "Decommission" → Retire.
SAP Tip: AWS Application Migration Service (MGN) is the recommended tool for rehost migrations — it replaces the older Server Migration Service (SMS). Know this distinction for the exam.
Related Services / See Also
- AWS DMS — database migration for rehost and replatform strategies
- AWS DataSync and Snow Family — data transfer for large-scale migrations
- Amazon EC2 — primary rehost target
- AWS Lambda — refactor target for serverless modernisation
ETL and ELT Fundamentals
Extract, Transform, Load (ETL) and its modern variant ELT — the core data pipeline patterns behind every data warehouse and analytics system.
Serverless Patterns
Event-driven architecture — common serverless design patterns using Lambda, API Gateway, Step Functions, EventBridge, SQS, and DynamoDB.