Common Cloud Migration Strategies(The 6 R’s at the core)
Common Cloud Migration Strategies(The 6 R’s at the core):
Cloud adoption rates have been rising since its introduction in early 2000’s. The onset of COVID-19 pandemic in 2020 increased the cloud usage of organisations to unprecedented levels. According to the 2022 Flexera Sate of Cloud report, the number of SMB’s who spent more than $1 million on cloud has risen from 38% to 53%. A cloud migration strategy is a high-level plan which is formulated and adopted by a business to move its existing in-house or co-located application workloads and their data to the cloud. Cloud Migration strategy not only helps an organisation which is moving its workloads first time into the cloud, but it also helps existing cloud users to optimize their existing cloud utilization.
In 2011, Gartner group outlined five common strategies which acted as a great benchmark and were famously called as “5 R’s of cloud migration”. Over the time with new experiences gained in cloud AWS added 1 more R in these and called these as “6 R’s of cloud migration”. In this article we will discuss these common strategies which are not definitive or mutually exclusive but can act as a guideline when starting a cloud transformation workshop or brainstorming session.
The 6 R’s of Cloud Migration Strategy:
- Rehost: This is more commonly termed as “Lift and Shift” strategy. As the name indicates it involves transporting an exact copy of existing IT Infrastructure to the cloud. Its most prevalent use cases can be
- First cloud migration project
- Large scale enterprise migration where existing Infrastructure is VM based, or workloads favour virtualization.
- Migration projects with very strict time constraints
- Off-the-shelf applications migration
It can be either implemented manually to gain cloud experience or can be automated using tools. In case of AWS tools like CloudEndure Migration and AWS VM Import/Export can be used. Major drawbacks of this approach are less flexibility, performance issues on compute intensive legacy apps and missing on the benefits of going cloud native.
- Re-platform: It is a modification to rehost and can be termed as a “move and improve” strategy. Here the core application architecture remains untouched and bare minimum changes to certain components are made to make scalability and transition to cloud easier. Developers mostly use this approach to change the applications ability to interact with cloud service providers managed databases like RDS for AWS. Its most prevalent use cases can be
- Migration with a timeline crunch
- Less resources to refactor the app
- Existing application is very complex, and components are tightly coupled
- Repurchase: This is termed as “drop and shop” cloud strategy. It can be used when the organisation is ready to replace its own in-house application with a Vendor provided SaaS (Software as a Service) application with similar or better capabilities. For example, moving from in-house CRM to Salesforce or HubSpot. Major drawbacks of this approach can be vendor lock-in and additional training cost for staff on new application. Its most favorable use cases can be
- When existing application is not compatible with cloud environments
- Replacing software for standard functions like CRM, email, CMS etc.
- Refactor or Re-architect: This strategy involves re-writing applications to make them cloud ready by utilizing cloud native technologies like microservices architecture, serverless, Kubernetes, docker, function-as-a-service, load balancers etc. Its suitable use case can be
- Enterprise’s focus is on scalability, performance and speed
- There is no shortage of financial and technical resources or time constraint as it will deliver ROI in the long run.
- Existing monolithic application is not compatible with cloud
This strategy is most expensive in terms of time, money, training etc. The organisation needs to keep the legacy applications running till new development is viable for production use.
- Retain: This strategy is also termed as “Re-visit”. It involves identifying and revisiting some critical portions of existing IT assets which needs a significant amount of refactoring before migrating them to cloud. During Analysis you may figure out that certain on-premise applications were recently upgraded and can be retained as it is. In some cases, certain compliance /regulatory constraints or latency requirements may work in favor of in-house infrastructure. Its major use cases are:
- Hybrid cloud deployment is most suitable
- On premise Infrastructure is New
- Certain Workloads not compatible with cloud
- To keep business continuity for very large-scale migrations
- Retire: In this strategy the business tries to get rid of applications which are no longer needed or are not productive anymore. If an application is considered not worth migrating to cloud, then either it is downsized or de-commissioned. Its major use cases are
- Application is redundant or obsolete
- Application not compatible with cloud and serves no critical role in production environment.
- Re-factored or Re-purchased application