On the way to the public cloud: Spoiled for choice in application migration

What is the best migration path for my application landscape?

Author: Daniel Albisser

Which companies do not use public cloud services today? Banks, insurance companies, utilities and industry are all moving their applications to the public cloud. The reasons are many and varied: lower costs, increased flexibility, innovation, sourcing, scalability, etc. How and how much - that is the key question today when taking the step into the public cloud.

This blog is based on the Gartner Report «Decision Point for Choosing a Cloud Application Migration Strategy» by Eric Knipp and Richard Watson from March 2016.

The fundamental decision to move to the cloud was made earlier. Now the question arises, what is the best migration path for my application landscape? There are various strategies for migrating applications to the public cloud, ranging from rehost to replace. There is no universal answer to the question of which strategy is best for my company - it all depends.

The five strategies

There are roughly five strategies for application migration to the public cloud: Rehost, Refactor, Rearchitect, Rebuild and Replace. Each of these strategies requires cutbacks and is more or less suitable for achieving certain goals. The mapping between the different migration options and cloud tiers (IaaS, PaaS and SaaS) is not clear and depends on the offering of each vendor. For example, Microsoft offers services on all cloud tiers, thus leaving different game variants open.

Public-Cloud_Abbildung1.png
Figure 1: The different strategies for application migration to the public cloud along cloud tiers

The rehost strategy probably provides the fastest and most direct route to the cloud, but is probably also the least ambitious. Rehost allows limited opportunities to improve the characteristics of the application's runtime environment, and no opportunities to adapt the underlying application architecture to take advantage of cloud capabilities.

Greater benefit from cloud capabilities can be achieved through refactor and rearchitect strategies. These strategies optimize the underlying application architecture for cloud use or even rewrite it for cloud-native functionality.

With the rebuild strategy, applications are rewritten to PaaS or completely replaced by SaaS applications with the replace strategy. This allows them to benefit from cloud-native capabilities and achieve the greatest benefit in this respect. In addition to the fact that this makes them faster, they pay the price with the increased dependence on the cloud provider.

Spoilt for choice: the right migration strategy

Companies strategically moving to the cloud are pursuing a cloud strategy and have prioritized their applications for migration to the cloud. Basic questions regarding security, availability and trust have been clarified. However, the question still remains, what is the best way to move applications to the cloud and what are the consequences?

The following is a brief overview with examples of when which migration strategy is best suited; the following list of reasons is not exhaustive:

Rehost:

  • Compute-intensive applications with irregular load (e.g. monthly or annual peaks), which must be easily scalable.
  • Temporarily used applications for which no hardware is to be procured.
  • Outsourcing of development and test environments to save costs.

Refactor:

  • Outsourcing of a self-written application that has a mature code base, but portability is not guaranteed. It is also important that the application can be easily adapted to the cloud environment.

Rearchitect:

  • If an application has to be extensively adapted due to new requirements or if these require new cloud functionalities.

Rebuild:

  • The application should be rebuilt cloud-natively from PaaS if shorter time-to-market and more flexibility are the focus.

Replace:

  • «Commodity» applications that are available off-the-shelf as SaaS solutions should be replaced with a SaaS solution.

Conclusion: Sound decisions, no shortcuts

Unfortunately, there is no universal answer to choosing the right migration strategy. The right strategy must be decided from application to application and not strictly applied to the entire application portfolio. Clear guidelines and decision criteria are needed, which follow the company-specific cloud principles. There must be sufficient flexibility to choose the best migration strategy for each application. The decision should be well-founded and abbreviations based on previous experience should be avoided. Experience shows that these cost money and time!