The right approach to migrating applications depends on business goals and the complexity of the application. To help evaluate their options, many organizations rely on the "6 Rs" of application migration, which include:
1. Rehost
Rehosting, or "lift and shift," involves moving applications as-is from one environment to another, typically from on-premises to the cloud, without making any changes to the application itself. This is often the fastest and least complex option.
Best for: Applications that don’t need modification and can benefit from the cloud's scalability.
2. Replatform
In a replatform, organizations make some optimizations or changes to the application to better align it with the cloud environment but without fully redesigning it. This might include moving the database to a managed cloud service or replacing outdated technologies with cloud-native equivalents.
Best for: Applications that require some tuning for cloud compatibility but don't need a full redesign.
3. Refactor
When organizations need to make significant changes to an application to take full advantage of cloud-native features, it’s called refactoring, or re-architecting. They often need to rewrite parts of the application for scalability, performance, or reliability.
Best for: Applications that need to be modernized to fully take advantage of cloud technologies such as microservices or serverless computing.
4. Repurchase
Sometimes the best strategy is to replace an existing application with a new, cloud-based solution. This typically happens when an organization moves from a legacy, on-premises system to a software-as-a-service platform that provides the same functionality.
Best for: Situations where a new cloud-based product better supports business needs.
5. Retire
Retiring means decommissioning applications that are no longer needed or are too costly to maintain. This can free up resources and reduce complexity during the migration process.
Best for: Legacy systems that no longer provide value or are no longer critical to the business.
6. Retain
If an application still meets business needs or requires specialized infrastructure, it might make sense to retain it on-premises or in its current environment. The approach might be part of a hybrid cloud strategy.
Best for: Applications that are too complex or costly to migrate, or those that are tightly integrated with on-premises systems.