AWS Cloud Migration Strategies - 7R's

Why the need for strategy?

AWS cloud migration strategies help standardize and optimize the process of moving applications to the cloud. Instead of ad-hoc migrations, adopting a dedicated strategy ensures best practices are followed, creating a streamlined approach for current and future projects.

Strategies

  1. Relocate

  2. Rehost

  3. Replatform

  4. Repurchase

  5. Refactor/Rearchitect

  6. Retain

  7. Retire

Relocate:

  • Moving workloads “As-is” without needing to change the app code and infrastructure.

  • It’s the simplest and most straightforward migration approach.

  • For example, on-premises VMware servers can be directly migrated to cloud-based VMware servers on AWS.

Rehost:

  • Also known as "lift and shift" this strategy involves moving an existing workload to the AWS Cloud with minimal changes.

  • It allows organizations to use AWS's infrastructure-as-a-service (IaaS) offerings quickly. This is often the first step companies take when migrating to AWS.

  • For example, an on-premise application hosted on a vm can be migrated to an AWS EC2 instance, or an on-premises Oracle database can be migrated to Oracle on EC2.

Replatform

  • Also referred to as "lift and reshape" this strategy involves making slight optimizations during migration to take advantage of AWS's cloud-native capabilities.

  • The goal is to reduce management overhead while enhancing performance.

  • For example, moving an on-premises Oracle database to AWS RDS for Oracle reduces the time spent managing the database. Similarly, migrating an application to AWS Elastic Beanstalk enables automatic deployment, management, and scaling, proving to be a cost-effective approach.

Refactor/Rearchitect

  • Involves refactoring the application code and redesigning the infrastructure to maximize the benefits of cloud-native offerings like scalability, performance, agility, and flexibility.

  • Applications can fully utilize AWS's advanced features, such as serverless computing, micro services architectures, and managed services, ensuring optimal efficiency.

  • Example, A monolith is converted to microservices by either serverless approach or contianerize and deploy them to AWS EKS or ECS which offers greater log term stability and flexibility.

Repurchase

  • This involves shifting to a cloud-native (SaaS) model instead of managing on-premise solutions.

  • For instance, replacing an on-premise CRM system with Salesforce, which runs on AWS cloud.

Retain

  • The applications remain on-premise without any migration to the cloud. This decision is often influenced by factors like cost concerns, strict security and compliance requirements, or dependencies tied to dedicated on-premise servers.

  • Example,legacy applications are maintained on-premise.

Retire

  • Decommissioning outdated applications. By retiring such applications, organizations eliminate unnecessary costs and free up resources to focus on managing active and essential services more effectively.

Level of effort from highest to lowest

Refactor > Replatform > Repurchase > Rehost > Relocate > Retain > Retire