When you are considering migrating your business to the cloud, it is essential that you first weigh the many benefits of cloud migration against the risks in cloud migration. Then, before you make the move, think carefully about your goals and prepare a cloud migration strategy. There are various cloud migration tools you can look into that can help you in the migration process, but before you can choose which ones to use, you will need to figure out exactly how you want to prioritize and migrate your applications by creating a clear, systematic, and documented strategy.
Before you decide what cloud migration strategy to use, you need to know what resources you currently have. This will establish a baseline because you can’t know where you are heading without knowing where you are starting out. It will also serve as a roadmap, and allow you to measure the success of your cloud migration after the fact.
The most common cloud migration strategies are known as “the six Rs of migration.” They include:
- Rehosting - Otherwise known as “lift and shift,” this strategy involves transporting an exact copy of your stack from on-premises hosting to the cloud. This works well for businesses with a conservative company culture or without a long-term strategy for how they plan to harness advanced cloud capabilities. Rehosting is also done in a majority of cases where an organization is looking to quickly scale its migration. Rehosting can usually be automated with cloud migration tools, although you may prefer to do it manually instead. It will usually be easier to optimize or re-architect your applications once they are already running in the cloud.
- Replatforming - While the core architecture remains the same, this variation of lift and shift involves making some adjustments in order to optimize your landscape for the cloud. Like rehosting, this strategy is good for conservative organizations that are looking for increased system performance. You may want to migrate to a database-as-a-service platform or to a fully managed platform, which will allow you to spend less time managing database instances.
- Repurchasing - This involves moving your applications to a new product, which is most commonly a SaaS platform. You’ll no longer have the familiarity of your existing code and you’ll have to train your team to work on the new platform. However, if you are moving from a highly-customized legacy landscape, this might be your most cost-effective solution.
- Refactoring - Also known as re-architecting, this is when you rebuild your applications from scratch. Usually this strategy would be chosen due to a need to leverage cloud capabilities (such as features, performance, or scale) that are unavailable in your application’s existing environment. Refactoring can be expensive, but it offers the most compatibility with future versions. It is particularly beneficial for companies that have a good product-market fit.
- Retiring - After assessing your application portfolio to make sure it is cloud-ready, you may notice that some (up to 10% or even 20% of) applications aren’t useful anymore. If this is the case, you can simply turn them off. Getting rid of applications that are no longer needed will result in savings that can boost your business case and allow your team to focus its attention on the applications that really are being used.
- Retaining - Cloud migration doesn’t necessarily make sense for every business. If there are reasons you need to leave your data on premises or if you have an app that was recently upgraded that you are not yet ready to prioritize, don’t migrate yet! Only move to the cloud what makes sense for your business, when it makes sense for your business. If now is not the time, leave things the way they are for now, and revisit the possibility of cloud migration at another time in the future.
The two simplest cloud migration strategies are rehosting and replatforming. If necessary, you may consider repurchasing or refactoring, which are more complicated but may be more beneficial. Once you find that an application is no longer useful, you can retire it. And if it doesn’t make sense to migrate data to the cloud at the moment, retain it where it is for now and revisit the cloud migration option at a later date.