Selecting the Right Application Migration Strategy

There are typically four drivers for undertaking an application migration project. 1) the ease and agility of provisioning infrastructure, 2) the ability to rapidly scale infrastructure as demand increases, 3) to take advantage of performance and innovative cloud computing technologies such as big data and 4) to avoid end-of-life support for applications and operating systems.

When migrating legacy systems to the cloud, it is important to consider your business goals, the capacity needs of your application and the cost of migration. Amazon offers a “6 Rs” model to outline different migration strategies. They include: Repurchase, Rehost, Replatform, Refactor, Retire and Retain. This article explains the benefits of each approach.

Repurchase – Shop & Drop

This approach involves decommissioning your application and replacing it with a cloud-based version, typically on a cloud Marketplace or as a SaaS service. Effectively, this is a licensing change—instead of using a traditional on-premise license, you can start using the same application as a cloud service.

A good choice if:

  • Your application is reaching end-of-life and will no longer be supported by the vendor
  • You are looking to take advantage of new features or stay current so future upgrades are easier to accommodate

Rehost – Lift & Shift

A rehost ‘lift and shift’ strategy involves moving your on-premise or existing cloud environment to a new cloud environment. The shift is typically done with little, to no modification. It can be considered the base approach to application migration or optimization. This method offers a quick and easy cloud migration solution with minimal application disruption. The Lift & Shift approach is ideal for large enterprises who want to move an existing application with as little disruption as possible. Once the application has been rehosted, it can be re-architected to optimize the application.

A good choice if:

  • You have a cost and time-sensitive project
  • You need to immediately reduce on-premises infrastructure costs (i.e. moving off a data center)
  • You have a business-critical app that needs to run without disruption or modification

A great framework to use to get this done is Chef Habitat by Chef Software. Chef Habitat will allow you take an application and manage it in a cloud-native way, even if it was not built for the cloud. In addition to this, you can streamline the management of application configurations. With these capabilities, not only does Chef Habitat help with the lift and shift, but it also simplifies the management of your applications once live. You can learn more about Chef Habitat here.

Replatform – Lift, Tinker & Shift

Replatforming, also known as “lift, tinker and shift” is appropriate when a part of your application needs to be optimized before it’s moved to the cloud. Small optimizations can often bring significant value, without changing the core architecture of an application. This may involve switching from a self-hosted infrastructure to managed services, or switching from commercial software to open source so you can scale freely on the cloud, without worrying about the licensing cost of each additional instance.

A good choice if:

  • Only minor changes are needed to make your application cloud-ready
  • Your on-prem options hinder scale and performance
  • You want to benefit from cloud features

Refactor / Re-architect

This approach requires major changes to the application and is the most expensive. The effort and risk of these changes is generally offset by a strong business need for cloud-native features such as improved scalability and performance. These changes may include updates that improve resource utilization, refactoring pieces of the application into microservices or containers before moving to the cloud. In reality, most applications end up being refactored either before or after migration.

A good choice if:

  • You need scale, agility boost and business continuity
  • You have the resources and time to complete
  • The cloud-native features outweigh the effort, disruption, and risk

Retain & Retire

These final two strategies do not involve migrating an application to the cloud. There may be an on-premises application that is not supported by cloud environments, no clear business benefit to moving an application or compliance regulations that require on-prem data. There may also be existing or redundant services that can be decommissioned or consolidated with other applications.

About The Author

As Partner and Vice President of DevOps at Indellient, Damith has over a decade of experience breaking boundaries in software implementation, consultation and architecting a variety of on-premise, cloud and hybrid solutions. Damith is passionate about building innovative, customer-responsive environments that align technology with business goals.