Rehosting
Among the different approaches to migrate applications to Cloud, rehosting (also known as “lift and shift”) is surely the simplest method. It’s about migrating the application in its entirety and move it to a Kubernetes cluster. You can wrap your app and move it to the Cloud environment without making any changes or optimization. Rehosting offers a faster and less resource-intensive migration process. On the other hand, lift and shift migration strategy makes more difficult to benefit of the full advantages typical of Cloud-native infrastructures and this is why it may not be the most effective way to use the Cloud environment offered by Kubernetes.
Replatforming
The second method, called replatforming or also “lift, tinker and shift”, requires small changes to the application before the migration process. Replatforming has the aim to optimize apps through a little amount of up-versioning so they can benefit more from Kubernetes high flexibility and scalability, without changing the core application structure. Replatforming is the intermediate process among the three Cloud migration paths. It is slower and requires more commitment compared to the simple rehosting, but it enables to make greater use of the potential offered by Cloud-native environments and especially it does not warrant resource-intensive process as refactoring does.
Refactoring
Finally there is refactoring technique, the most complex and costly strategy compared to the others, but also the most convenient for several reasons. Refactoring involves an advanced rearchitecting and often recoding some portion of an existing application. That’s why through the app adjustment and optimization you can take advantage of the full benefits and functions offered by Cloud-native infrastructures.
What is the right migration path for your company? There is not the “best solution”. The choice depends on the needs of each single business (timing, resources, dedicated staff) and on the features of the existing infrastructure.