Cloud Migration Strategies: the 7 Rs
Ref: https://www.udemy.com/course/aws-certified-cloud-practitioner-new/learn/lecture/43749434
Blog post: https://aws.amazon.com/blogs/enterprise-strategy/new-possibilities-seven-strategies-to-accelerate-your-application-migration-to-aws/

- Retire: turn off stuff you don't need
- Saves $$$, focus attention on other resources, more security (less attack vectors)
- Retain: decide to not migrate anything (do nothing for now)
- Specific security or performance concerns may discourage migrating to cloud
- If no business value in migrating, why migrate?
- Relocate: move apps from on-premises to cloud, or within cloud
- e.g. move EC2 instances to different VPC, region, or AWS account
- e.g. transfer servers from VMware Software-defined Data Center (SSDC) to
VMware Cloud in AWS
- Rehost = “Lift and shift”: simple app-as-is migration to AWS, no cloud optimizations
- Migrate machines (physical, virtual, other cloud) to AWS
- e.g. migrate with AWS Application Migration Service
- Replatform = “Lift and reshape”: core architecture stays, but some cloud optimizations
- Cloud optimizations: fully-managed services, serverless paradigm…
- e.g. migrate your on-premises SQL DB to RDS
- e.g. migrate your app to Elastic Beanstalk (PaaS)
- Repurchase = “Drop and Shop”: move to a different product while migrating to AWS
- Often move to a SaaS platform → expensive in short-term, but quick to deploy
- e.g. on-prem CMS to Drupal, on-prem CRM to Salesforce…
- Refactor = Rearchitect: recreate the app/infra with Cloud Native features
- 👍 Leverage all Cloud Native benefits (scalability, performance, agility, security…)
- 👎 Very costly, lots of effort and time to do, requires a lot of engineering
- e.g. move from monolithic architecture to micro-services architecture
- e.g. move an on-prem app to a serverless architecture
- e.g. store on-prem media in S3
AWS Migration Services
- AWS Application Discovery Service: gather data from on-premises Data Centers (DCs) to consider and plan a migration to AWS
- Gathers server utilization & dependency mapping data
- Agentless & Agent-based Discovery options available
- AWS Migration Evaluator: build a data-driven business case for migration to AWS
- Analyzes current state, defines target state, then develops migration plan
- Agentless Collector performs broad-based discovery (on-prem footprint, dependencies…) → creates baseline of current operations in your on-prem DC
- AWS Application Migration Service (MGN): lift-and-shift (rehost) solution for migrating apps into AWS
- Formerly
CloudEndure Migration, was purchased by AWS and has replaced AWS Server Migration Service (SMS)
- AWS Replication Agent installed on the on-prem DC, performs continuous replication of servers to staging environment in AWS for a while, then at some point cutover event happens and production environment in AWS is ready to go
- AWS DataSync: orchestrate large data migrations between on-premises and AWS
- ❗ Online data migrations (as opposed to offline data migrations with AWS Snowball devices)
- Can also keep data in sync after full-load migrations → replication tasks are INCREMENTAL after first full-load migration
- AWS DMS (Database Migration Service): migrate DBs to/from AWS
- ‼️ Mostly migrations between SQL DBs!!
- DynamoDB currently supported as target DB (the only NoSQL DB supported for now)