iLand, a global server provider, conducted a survey in 2017 on how much companies are successful in moving to the cloud. According to the research results, up to 57% of Amazon Web Service (AWS) users faced stalled or failed cloud adoption. Microsoft Azure users reported slightly a less appalling figure of 44%. What went wrong with cloud adoption and how to move to the cloud risk-free? See the instructions for safe cloud migration in the first from our Cloud Migration series of articles.
Not so long ago VMs were considered a too-disruptive notion that few businesses would eagerly agree to deploy. As time passed, we grew so accustomed to them that it’s hardly possible to imagine today’s IT-market player running an all-physical fleet of machines. Now, as the story repeats itself, many businesses face the necessity to shift to the cloud in order to boost performance, availability, scalability, etc. but are afraid of changes. Indeed, to make use of the cloud-native features, an organization will have to go through numerous time and labor-consuming transformations that turn out to be quite risky sometimes. What measures you as a cloud adopter should undertake to migrate to the cloud seamlessly? Start from learning the details of the available migration strategies.
Cloud migration strategies
What is a cloud migration strategy?
It is an approach the company follows when moving its application to the cloud. Sure thing, there’s no universal solution to fit any company willing to benefit from cloud-native features, for applications at least vary in size and complexity. That’s why strategies are numerous and when moving to the cloud a single company may consider adhering to multiple strategies at once, applying a different strategy for a different application. Below are three of the most common migration strategies, listed together with their respective rewards and implications.
- Rehost
It is by far the easiest method to migrate your application to the cloud. Also known as lift-and-shift, it is exactly what its name suggests. You basically lift and relocate your physical and virtual servers into an IaaS solution, i.e. from on-prem facilities to the public or private cloud. During rehost, an organization transports an exact copy of its application, database, and OS, which is literally simply changing a host without introducing extensive changes to the system.
Rehost is a very common cloud migration strategy due to its relative simplicity: almost no code alterations needed, quick ROI and relatively low demands for IT-skills required to do the trick. Thus, you can save a lot on the cost of the on-prem infrastructure moving all of your portfolio to the cloud almost in no time, if that’s what you need. For instance, GE Oil & Gas initially found it could save up to 30% of its cost by rehosting, achieving a 52% reduction in total TCO in the end after migrating its 500 applications to the cloud. For them, the rehost was a perfect solution.
Why bother with further efforts if rehost cuts your costs and the system is running smoothly in new infrastructure? Like every quick patch, the rehost imposes specific limitations. They become especially evident if you compare a rehosted application with a cloud-native one. Since you simply change the host and leave the system as it is, you cannot benefit from scalability, performance and other rewards of being in the cloud. Moreover, what comes to the cloud, stays in the cloud. In other words, malware and insecure configurations are imported to the cloud with the rest of the system.
The good news is that, according to Stephen Orban, General Manager at Amazon Web Services, application optimization runs easier once the application is in the cloud (as compared to re-platform and refactor where optimization is actually the part of the migration campaign).
- Replatform
Replatform combines the simplicity of rehosting and cloud-nativeness of refactoring. It suits better the needs of the well-established players who want to move their legacy systems which are too-structured to be easily moved to the IaaS. Instead of changing the core of the applications, the applications are emulated through a virtual machine so that legacy IT systems can become compatible with modern-day cloud technologies (Beacon Telecom).
The changes that the application undergoes allow the business to enjoy better performance and reduced costs along with benefiting from time and effort-saving managed services. During re-platforming the common components of the application and the cloud-native components are swapped, thus the application inherits some cloud-native characteristics. As an example, a typical three-tier application that includes a load-balancer in a VM and a database layer in a VM can be adjusted to swap the load-balancer VM for an AWS managed load balancer, and the database VM for AWS managed Relational Database Service (Cloudsoft).
A huge plus of replatform migration strategy is the chance to substitute the fragile scripts and configurations with the reliable ones through introducing cloud-friendly modifications. However, it implies additional costs. Additionally, the high quality transformation of the application poses higher demands for the qualifications of the cloud engineers. Among common mistakes committed by the inexperienced cloud, engineers are choosing inadequate cloud components to be replaced, poor configuration, complex architecture.
- Refactor
To refactor an application means to rearchitect it. By choosing this strategy, you’re stepping on an uneasy path, that’ll take you long before you reach your very ambitious goal. Refactor allows leveraging benefits of microservices, among others, with increased elasticity, availability, performance, so your application will be able to successfully compete with any cloud-first one. This strategy is future-oriented, as it implies extensive initial investments, which pay off later on, though.
In contrast to the two options mentioned above, the refactor entails major changes to the application configuration and code, including its architecture. Caution must be taken in order not to induce unfavorable changes to the external behavior of the application. For example, if your existing application is resource-intensive, it [changes to the application configuration and code] may cause larger cloud billing because it involves big data processing or image rendering (eInfochips). To avoid this, consider redesigning your application for better resource utilization before migrating your portfolio to the cloud.
Keep in mind, by the way, that high rewards always go hand in hand with high ramifications. For example, as for refactoring, it is complex and demands qualifications. Besides, there’s the risk of lock-in. In other words, to get the most of the cloud, you’ll have to tie your application to higher-order services of your cloud provider. It looks like putting all your eggs in one basket, which has never been a good idea.
After all, in case you’re not sure that you’re ready to accept all the refactor-related risks, you may choose between complete and partial refactor, as partial refactor implies less intensive migration efforts and takes less time to complete. Following this less disruptive path will deprive you of a portion of the performance and lower costs that complete refactor ensures in the long run, but won’t make you excessively dependent on your cloud solutions provider.
Summary
Before you start moving every bit of your data, remember to get to the core of as many available migration strategies as possible, for your prudence will be key to the success of your cloud migration campaign. Out of the 6R’s (which is how the most common migration strategies are referred to – Rehost, Replatform, Refactor, Repurchase, Retire, Retain), we’ve covered only three in our article. So, be hesitant, study the options and wait for our upcoming articles from the Cloud Migration series.
Invest in a reliable cloud provider and, surely, an experienced cloud partner who will be in charge of your transition to the cloud. Beware of “experts” talking you into rehosting all your portfolio, for rehost, is the easiest way to get the things done, although rarely the best one.
More cloud migration strategies will be covered in our upcoming articles from the Cloud Migration series. Don’t miss a post to stay tuned about migration planning, system testing, follow-up and maintenance of your applications in the cloud.