The 6Rs Framework

The 6Rs framework, originally developed by Gartner and popularized by AWS, provides a structured approach to evaluating each application and selecting the appropriate migration strategy.

1. Rehost (Lift and Shift)

Move the application to the cloud with minimal changes — essentially running the same virtual machine in the cloud that was running on-premises. Fastest migration strategy; delivers the least cloud value. Appropriate for: applications that cannot be easily modified, time-constrained migrations, and applications that will be refactored later.

2. Replatform (Lift, Tinker, and Shift)

Make a few cloud optimizations without changing the core architecture. Examples: migrating from self-managed database to managed database service (RDS, Azure SQL), moving to managed container service (ECS, AKS). Moderate effort; delivers meaningful cloud value without full refactoring.

3. Refactor / Re-architect

Redesign the application to take full advantage of cloud-native capabilities: microservices, serverless, managed services, auto-scaling. Highest effort and cost; delivers the most cloud value. Appropriate for applications where cloud-native architecture provides significant business value.

4. Repurchase

Replace the existing application with a SaaS equivalent. Examples: replacing on-premises CRM with Salesforce, on-premises email with Microsoft 365, on-premises HR system with Workday. Often the most cost-effective option for commodity applications.

5. Retire

Decommission applications that are no longer needed. Discovery typically reveals that 10–20% of applications can be retired. Retiring applications reduces migration scope and ongoing operational cost.

6. Retain

Keep the application on-premises, at least for now. Appropriate for: applications with regulatory requirements that prevent cloud deployment, applications with specific performance requirements that cannot be met in the cloud, and applications that are too complex to migrate in the current program.

Discovery & Assessment

Discovery is the most underestimated migration activity. Organizations consistently underestimate the number of applications, the complexity of dependencies, and the effort required for migration.

Application Discovery

Automated discovery tools (AWS Application Discovery Service, Azure Migrate, CloudScape) scan the environment to identify servers, applications, and dependencies. Manual interviews with application owners supplement automated discovery. Typical finding: organizations have 30–50% more applications than they thought.

Dependency Mapping

Map all dependencies between applications, databases, and external services. Dependencies determine migration wave sequencing — applications with shared dependencies must be migrated together or in the correct order. Undiscovered dependencies are the leading cause of migration failures.

Application Assessment

For each application, assess: business criticality, technical complexity, cloud suitability, migration effort, and expected cloud benefit. This assessment drives the 6R decision and migration wave prioritization.

TCO Analysis

Calculate the total cost of ownership for each application in the cloud vs. on-premises. Include: compute, storage, network, licensing, and operational costs. Many organizations discover that some applications are cheaper on-premises — these should be retained or considered for repatriation.

Migration Planning

Migration Wave Planning

Group applications into migration waves based on: dependencies (related applications migrate together), risk (lower-risk applications migrate first), and business value (high-value applications may migrate earlier to realize benefits sooner). Typical wave size: 10–30 applications.

Landing Zone Design

Design the cloud landing zone — the foundational infrastructure that all migrated workloads will use: account structure, networking (VPCs, subnets, connectivity to on-premises), identity and access management, security controls, and monitoring. A well-designed landing zone prevents security and compliance issues that are expensive to fix after migration.

Migration Tooling

Select migration tools based on workload type: AWS Server Migration Service / Azure Migrate for VM migrations, AWS Database Migration Service / Azure Database Migration Service for database migrations, and application-specific tools for complex migrations.

Migration Execution

Migration execution follows a consistent pattern for each application:

  1. Environment setup: Provision cloud infrastructure for the application
  2. Data replication: Begin replicating data to the cloud environment
  3. Application deployment: Deploy the application in the cloud environment
  4. Testing: Validate application functionality and performance
  5. Cutover planning: Plan the cutover window and rollback procedure
  6. Cutover execution: Switch traffic to the cloud environment
  7. Post-cutover monitoring: Monitor for issues in the first 24–72 hours
  8. Decommission: Decommission on-premises infrastructure after successful migration

Testing & Validation

Thorough testing before cutover is essential. Testing categories:

  • Functional testing: Verify all application features work correctly in the cloud environment
  • Performance testing: Verify that response times and throughput meet requirements
  • Integration testing: Verify that integrations with other applications and services work correctly
  • Security testing: Verify that security controls are correctly implemented
  • Disaster recovery testing: Verify that backup and recovery procedures work in the cloud environment

Cutover & Go-Live

Cutover is the highest-risk phase of migration. Best practices:

  • Schedule cutover during low-traffic periods (weekends, off-hours)
  • Have a documented rollback plan and rollback decision criteria
  • Keep on-premises environment running for 24–72 hours post-cutover as rollback option
  • Have all stakeholders available during cutover window
  • Monitor closely for the first 24–72 hours post-cutover
  • Communicate cutover schedule and status to all affected users

Post-Migration Optimization

Most cloud cost savings are realized through post-migration optimization, not during migration. Key optimization activities:

  • Rightsizing: Reduce instance sizes based on actual utilization (many migrations use oversized instances)
  • Reserved instances: Purchase reserved capacity for predictable workloads (40–60% savings vs. on-demand)
  • Spot instances: Use spot/preemptible instances for fault-tolerant batch workloads (60–80% savings)
  • Storage optimization: Move infrequently accessed data to lower-cost storage tiers
  • Managed services: Replace self-managed services with managed equivalents to reduce operational overhead
  • Auto-scaling: Implement auto-scaling to match capacity to demand

Common Migration Mistakes

  • Insufficient discovery: Undiscovered dependencies cause migration failures and unexpected downtime
  • Skipping the landing zone: Migrating without a well-designed landing zone creates security and compliance debt
  • Lift-and-shift everything: Rehosting all applications misses the opportunity to reduce costs and improve performance
  • Underestimating data migration: Large datasets take longer to migrate than expected; plan for data transfer time
  • No rollback plan: Every migration should have a documented rollback procedure and decision criteria
  • Neglecting post-migration optimization: Migrated workloads often cost more than expected until they are rightsized and optimized
  • Migrating everything: Some workloads are better on-premises; retain them rather than forcing a cloud migration