Not all business applications benefit from running on a cloud-based infrastructure, however, in those cases where they do, having an effective migration strategy to the public cloud is crucial. In this sense, it is essential to determine which of the available migration strategies offers “the path of least resistance.”
At Iguana Solutions we are aware that the migration process to the public cloud is a challenge, it is for this reason that we have prepared this article in order to provide you with a vision of the pros and cons of the most common migration strategies.
1. Lift and shift
This first strategy is one of the most popular strategies since it does not require as many resources as other strategies and allows applications to be migrated in a reasonable time frame.
The Lift and Shift strategy (also known as rehosting ), simply consists in deploying the exact same software on a different platform/cloud provider.
This strategy in itself doesn’t bring many upsides, as public clouds aren’t meant to be consumed in the same way as traditional “on-premise” platforms, but it is usually the faster and the most straightforward method of migration.
Rehosting your software to a public cloud is usually the first step towards an incremental transformation and adaptation of your code and infrastructure usage to improve the efficiency of your cloud platform.
- Lift and Shit’s strategy doesn’t require any change in your code..
- Even though this strategy is quite simple and straightforward to execute, it can often be costly or totally inefficient in the long run if the software isn’t modified to leverage the public cloud features and capacities.
- It is an interesting strategy if you’re confident in your ability to incrementally adapt your software to the cloud platform of your choice to improve its efficiency.
2. Move and improve
The second strategy that we are going to analyze is known as Move and Improve. It consists of “moving” the original application to a virtual machine from where the application can be used while it is gradually “improved.” This strategy provides a host of benefits. First, it negates almost all the risks associated with migrating your application to the cloud because the application doesn’t actually need to be modified, or at least not immediately. Second, it gives developers the ability to plan incremental changes flexibly and conveniently. Finally, improving the software once it’s deployed on the public cloud platform reduces the risks of downtimes since the virtual environment gives you all the flexibility you need to transition smoothly from one design to another..
At Iguana Solutions, we think that this is the most flexible strategy when working with complex applications or processes since it is less risky and provides control over the incremental changes made to the application..
- Move and Improve strategy involves moving the legacy (often monolithic) application to a cloud environment “as-is”, or almost, as you could for example leverage some basic public cloud features such as managed databases without changing your code.
- From that initial migration, you could improve your application through small incrementals changes to use more advanced features of the public cloud, such as managed load balancers, managed databases, autoscaling etc..
- Since the application will be running in the public cloud, you have all the flexibility you need to improve it without downtime.
- This strategy allows developers to plan a smooth transition in small increments which in the end consume far fewer resources than a complete refactoring.
3. Rip and replace
The last strategy that we are going to analyze follows a straightforward logic. If what the company requires is migrating its software to the public cloud, why not rewrite it completely and make it “cloud-native”? The simplest answer to this approach is because it is extremely complex. Migrating legacy software to the cloud involves rewriting the source code using modern languages and frameworks and making profound changes in the development methodology and infrastructure. Among these changes, we have enforcing DevOps principles, ensuring that the new application is split in multiple microservices, potentially allowing it to work flawlessly on containers, etc.
Now, let’s forget about the methodological and infrastructure aspects for a moment, and let’s focus on the software. In order to implement the Rip and Replace strategy (also known as refactoring), you need to have a complete knowledge of the source code, which alone can be difficult, especially for older applications. Moreover, even with the complete source code at hand and a great understanding of it, rewriting it completely into a new language and making sure there are no deprecated dependencies can be quite a challenge. With this, what we want to indicate is that the Rip and Replace method is arduous, even in cases where the software is not complex. All this means that a lot of staff, time, and money are required to complete the migration to the cloud, which could stall the company’s growth for a long period.
- Involves rewriting/refactoring the on-premise application by following a “cloud-native” approach.
- This induces using modern languages and framework, splitting your monolithic application into a variety of loosely coupled microservices.
- Having a deep understanding of the public cloud platform of your choice is necessary to be able to leverage the available managed services when relevant.
- It is a challenging process that requires considerable resources, both in terms of time and money.
- Due to its complexity, it’s tough to set realistic milestones.
Migrating applications to the cloud can be a daunting task. Not only does it consume time and money, but it also requires a shift of paradigms at different levels of the organization including cloud security, data backup, and more. This makes it extremely important to carefully evaluate each of the migration strategies until finding the one that suits both the organization’s budget and the complexity of the application.
From our point of view, it is often best to first “Move and Improve” your application, and then plan a complete refactoring if necessary to achieve maximum efficiency.
At Iguana Solutions we have the necessary experience to guide you throughout this process, providing support in each of the stages of the migration to guarantee that your applications will work as expected. We can help you, contact us!