What Are the 7 Rs of Cloud Migration Strategy?
The AWS cloud migration framework further modified Gartner’s 5 Rs model into 7 Rs of cloud migration strategy which we will discuss in this blog.
Join the DZone community and get the full member experience.Join For Free
Cloud migration strategies are high-level plans adopted by an organization to move their existing on-premise workloads and data to cloud environments or switch from one cloud service to another. The choice of cloud migration strategies varied according to the levels of agility, scalability, technical experimentations, and ownership that the organization wants to achieve. There are many cloud service providers in the market such as Amazon Web Services (AWS), Google Cloud Provider (GCP), Microsoft Azure IBM, Alibaba, etc. which provide a wide range of tools and services for cloud migration.
In this blog, we shall use AWS as our immediate reference. Amazon Web Services was inspired by Gartner’s 5 Rs model that defined all options available for cloud migration. The AWS cloud migration framework further modified this model into 7 Rs of cloud migration strategy about which we will be discussing in this blog.
7Rs of Cloud Migration Strategy
Repurchase: The Updated Newbies
In this strategy, we withdraw an existing application and replace it with a cloud-based version from the AWS Marketplace. Here. We start a new license agreement in the cloud, which requires lesser effort in comparison with the “lift and shift” strategies. Applications such as CRM, HR, finance, ERP, etc. can be migrated using this option. The applications are published by different vendors in the AWS Marketplace and categorized according to the delivery modes, pricing, categories, etc.
The popular categories provided by the AWS cloud migration framework include Operating Systems, Data Products, Machine Learning, Storage, Networking, DevOps.
Relocate: Switch Up Locations
Relocate is the option where we move our infrastructure to the cloud without purchasing new hardware, rewriting applications, or modifying existing operations. This can be done with the help of VMWare Cloud on AWS, as it supports compatibility and portability between AWS and the on-premise environment. For example; relocating the hypervisor hosting Oracle Database to VMWare Cloud on AWS.
Rehost: Modify None, Lift, and Shift More
In this strategy, we move on-premise applications to the cloud environment, without modification. This option is chosen when there is a need to migrate large-scale legacy apps to meet targeted business objectives. We must identify the apps which can benefit from the cloud environment, without major architectural changes. Rehost is also the first stage for performing refactoring or re-architecting apps in cloud migration because rehost makes it easier to spin up realistic development/testing environments. The process is not that easy when compared to repurchase, but AWS provides efficient tools to perform rehosting with ease. Cloud Endure Migration and AWS Server Migration Service (AWS SWS) are two such services.
Replatform: Modify Less, Lift, and Shift Extra
In this strategy, we replace a few components of the application and host them in the cloud environments. The components are replaced or rebuilt in such a way that they take advantage of the cloud environment. It mostly involves switching from self-hosted architecture to managed services. We should focus on applications that require minimal optimizations if replatforming is the chosen strategy. AWS Lambda, Amazon Cognito, Amazon MQ, AWS Glue, Amazon QuickSight, etc. are a few services provided by AWS to rebuild parts of the applications.
Extensive testing and monitoring are mandatory in this strategy, even if minimal components are modified. This includes testing and monitoring post-cloud migration also. We should pay attention to metrics like security, performance, functionality, and usability because we surely don’t want a crashing application after investing time and effort in the cloud migration process. Amazon CloudWatch can help in application monitoring.
Refactor/Re-Architect: Almost Building Them From Scratch
This is the most expensive approach to cloud migration. Here, the application undergoes a complete makeover to adapt itself to the cloud environment. We can opt for this strategy when there is a strong business need for cloud-native features. In most cases, the application is broken into independent services and transitioned into a microservices architecture in the cloud. The applications are refactored only after they are rehosted in the cloud.
This strategy involves high risk and efforts, hence should be executed with utmost care. AWS offers a wide range of services in areas like servers, databases, cloud environments, migration tools, testing and monitoring tools, batch processing tools, security tools, source code management, workspaces, etc. The refactoring process is done on Amazon Workspaces with collaborative, skilled, multi-location teams. The development environments are responsive, powerful, collaborative, and secure.
Amazon EC2, Amazon S3, AWS Directory Services, Active MQ on AWS, Amazon RDS, AWS Lambda, Amazon Cognito, Amazon MQ, AWS Glue, Amazon QuickSight, AWS Secret Manager, etc. are a few tools used in the refactoring journey. As much as we talk about cloud adoption, it is not the right option in all circumstances. The 6Rs cloud migration strategy model includes passive options for not choosing cloud migration also. “Retain” and “Retire” are the last two R’s which do not perform cloud migration.
Retain: Services Which Can Camp-In
Retain is when we opt to keep the items as it is in our existing IT portfolio. We retain applications under circumstances where there are strict regulations to store data on-premises only. We also retain our applications and workloads when cloud migration is not feasible. It is advisable to retain your applications when there are active projects within them, or when the applications and operating systems are not compatible with the targeted cloud environment. Identifying applications which can be retained in the early stages while mapping out the cloud migration can help us make informed decisions. This prevents us from following the cloud adoption trends blindly.
Retire: Done and Dusted!
Retire is a cloud migration strategy option where we turn of services that are no longer needed. These services are identified in the early areas of mapping the cloud migration. This may include redundant workloads also. Turning off these services enables the organization to focus on areas that provide more business value and saves resources. However, we must be aware of all the upstream dependencies of a workload before retiring them.
Organizations can reach out to cloud migration consultancy services to get a clear idea of which strategy would suit their needs the best. They provide insights into the nuances of cloud adoption and provide clearance on factors like payment, ownership, compliance, governance, security, risk management, support systems, and much more.
Opinions expressed by DZone contributors are their own.