“We could go for application refactoring for a more future-proof solution or choose a lift-and-shift approach to get the ball rolling very quickly” — this is what your migration architect suggests after a preliminary audit of your current infrastructure. The only problem is, you’re not very well-versed with cloud migration strategies.
Thankfully, that can be changed in the next five minutes as you read about the 6 most popular cloud migration strategies in 2020.
Choosing the Right Strategy
The strategy you choose affects the performance and reliability of the applications as well as the cost and duration of the cloud migration. On one side of the spectrum, some strategies are more time-consuming but better performing and on the other side, strategies lead to quick migration albeit with worse performance. The goal is to find the right balance between time, cost and performance.
The most common way of choosing the right cloud migration strategy is through the discovery and assessment process. During the process, your lead migration engineer creates a detailed inventory of the current systems and applications to come up with the required costs and effort while taking into consideration the goals and objectives of the organization.
Choosing the right cloud migration strategy is also important as it guides the engineers’ and executives’ cloud migration decisions. More importantly, it will be used to outline the entire process.
Top 6 Cloud Migration Strategies
Cloud migration strategies most commonly used today are based on the 5 R’s of Cloud Migration (Rehost, Refactor, Revise, Rebuild, or Replace) introduced by Gartner in 2010 which have since then been expanded upon. Let’s take a closer look at each strategy:
1. Rehosting / Lift and Shift
Rehosting is popularly known as the “lift-and-shift” strategy as it involves simply redeploying the app on a cloud-based environment. Rehosting is the easiest, fastest, and most cost-effective strategy, despite having the least optimized cloud applications (it’s only limitation).
The ideal use-case for rehosting is when the business requires relatively fast cloud migration or during large-scale enterprise transitions as the cloud applications can always be optimized later down the line.
Replatforming is very similar to rehosting as it involves the same basic principle — “lift and shift” but with a few changes meant for optimization and/or compatibility.
For instance, many organizations use different third-party solutions and platforms for monitoring and tracking usage, artificial intelligence, payment portals, etc, for which they need to pay licensing fees. When moving to a cloud-based environment, they might decide to use the equivalent tool/service built into the cloud platform by the vendor and save costs. For this, they will need to re-platform during cloud migration.
3. Re-architecting / Refactoring / Rip and Replace
Re-architecting is the first strategy in this list where actual refactoring of code is done. Hence, rearchitecting is also known as refactoring. A company may decide to re-architect or refactor when its original codebase or architecture is obsolete and it wants to take advantage of the cloud vendor’s proprietary features.
For instance, a company with a monolithic architecture wanting to move to a fully serverless architecture would have to refactor its entire code and possibly change its previous development frameworks.
4. Repurchasing / Drop and Shop
Repurchasing is the cloud migration strategy where the company purchases, (often a license to) a software or platform to replace its own proprietary system or a previous cloud-based platform.
Repurchasing is ideal when an existing platform already has all the features a business needs. It’s also cheaper to use existing corporate platforms than it is to build an equivalent from scratch (especially for smaller businesses).
Retiring refers to getting rid of obsolete apps in order to simplify the upcoming cloud ecosystem. Simplification is a powerful tool to improve scalability and efficiency, especially in legacy systems that are often built on a monolithic architecture that can become extremely disorganized and cluttered over time.
Sometimes, it’s better to simplify the app portfolio and add the obsolete’s app functionality to another app through microservices.
Retaining is the opposite of retiring. A business may decide to retain or not migrate an app to the cloud, despite being technologically obsolete, for many reasons including:
- The application is too large to be migrated at once
- Long periods of downtime isn’t feasible
- The cost savings aren’t significant enough
Originally published at https://www.d3vtech.com.