Blog

App and Platform Modernization: Rehost, Refactor, Rearchitect, Rebuild, and Replace

Once you’ve decided to start working with Azure, the process of Cloud migration begins. Several complex decisions play a role in this process, so it makes sense to work according to a carefully draw up a migration strategy.

This strategy bases steps on the status of your current IT environment and links them to the business objectives. Having this knowledge enables you to determine which parts of the IT environment will migrate to the Cloud, in which order, and in which way.


To get you started, this article outlines the five most common migration strategies. These are derived from a Gartner paper (2011), which introduces the 5 Rs of Cloud Rationalization.

 

Rehost

“Rehost,” also known as “Lift & Shift,” is a common approach to migrating applications to the Cloud. You simply move your application to the Cloud with minimal adjustments to the infrastructure as a whole.

This Infrastructure as a Service (IaaS) enables you to immediately reduce operational costs, free up space in your data centre, and considerably accelerate any follow-up to your migration process.

If you want to know more about this, then read our comprehensive article about Lift & Shift here.

Refactor

“Refactor” is about customising applications, so that they’re better aligned with the new Cloud environment. This often includes modifying the application itself and part of the code to make more use of Cloud-native functions and the flexibility that they offer. Essentially, you’re switching to a PaaS model.

If you're considering a middle ground between Rehost and Refactoring, then Replatforming may be right for you. 

Refactoring is a more intensive process than Rehosting, but you’ll achieve much bigger benefits for your organization. Your developers will now be able to re-use languages, containers, and the framework in which they’ve invested. Updates can be made faster, and it goes without saying that you’ll have the same advantages as with Rehost.

Rearchitect

Some obsolete applications aren’t compatible with the Cloud due to architectural decisions made while building the app. In this case, it would be wise to consider “Rearchitecting.” This allows you to divide the application into several functional components that can be individually adapted and further developed. The individual components, or “microservices,” can be individually transferred to the Cloud.

This involves major adjustments and will cost considerably more time and money than the previous Rs. However, the upshot is more flexibility, scalability, and more control over your architecture.

Rebuild

A “Rebuild” migration strategy means that you completely redevelop the application on a PaaS infrastructure – unlike with Rearchitect, where you only modify parts of the application.

Rebuild involves removing existing code and redesigning the application in the Cloud, after which you can utilize innovative features on the Cloud provider’s platform. A Cloud-native application is cheap to use and highly scalable. But watch out: A complete rebuild of your application comes with a price tag.

Replace

A “Replace” migration strategy completely replaces an existing application with SaaS. When existing SaaS applications can provide you with all the necessary functionalities, Replace is an excellent option if you’re looking to save costs related to IT development.

Our Microsoft Azure Cloud Essentials workshop will tell you more about the 5 Rs of Cloud Rationalization. You can attend our workshop for free. Feel free to contact us or sign up here.