The 6 R's strategy is a framework used in cloud migration planning to determine the best approach for migrating applications to the cloud. The 6 R's stand for:
- Rehost
- Refactor
- Repurchase
- Re-platform
- Retire
- Retain
Below diagram depicts workflow of 6Rs Migration strategy,
Let's understand this strategy and suitable for the use case.
Rehost
This involves moving or lifting and shifting servers and applications to the cloud infrastructure without changing the application architecture or code. This can be a quick and easy way to migrate applications, but it may not take full advantage of the benefits of cloud computing. It typically means moving to IaaS (Infrastructure as a Service).
Refactor
This involves making some changes to the application architecture or code to optimize it for the cloud. This approach is suitable for applications that can benefit from the scalability and elasticity of the cloud but require some modifications to function efficiently. This can involve breaking the application into microservices or using cloud-native services. Sometimes this can be subcategorized as "Re-architect" where significant changes to the application's architecture are required to improve its functionality, scalability, and efficiency, or "Rewrite" which requires complete transformation and cannot be optimized for the cloud environment through minor modifications.
Repurchase
This approach is called "drop and shop," which refers to a decision to move to another product. This may mean ending existing licensing and repurposing services on new platforms or services. The common use case would be repurchasing as a move to a SaaS platform, for example, moving a CRM to Salesforce.com. The repurchase strategy involves selecting a new cloud platform or service provider and migrating the existing applications or systems to the new platform or provider.
Re-platform
This involves moving the application to a different platform or runtime environment, such as a newer version of an operating system or database. This can help to modernize the application and improve its performance.
Retain
This approach involves retaining the existing application in its current state and not migrating it to the cloud. It's also known as "DO NOTHING". This approach is suitable for applications that are not well-suited to the cloud environment or are not a priority for migration, or require strict security or compliance requirements. Retaining is often used in hybrid cloud deployment to ensure business continuity during large-scale migrations.
Retire
This approach involves retiring the application that is no longer needed and not worth migrating to the cloud and can be eliminated. This approach is suitable for outdated applications or no longer meets business requirements.
This framework is widely used and helps organizations choose the most suitable approach to migrate their applications to the cloud based on cost, complexity, and business requirements. It also helps to minimize the risks associated with cloud migration and ensure a successful migration to the cloud.
The below figure depicts the cost of migration vs. timeline:
Happy Learning!