The process and execution of application migration to the cloud from on-prem can take many paths. At a minimum, apps are rehosted – or moved largely as-is to the cloud. But ideally, they should be modernized through refactoring or rewriting – even potentially replaced with a SaaS offering. But according to Gartner, 85% of today’s core IT applications were not built for the cloud. These “untouchable” applications often serve a business-critical function, supporting many business processes. They took hundreds of man hours (nay, years) to develop and therefore will take years to refactor for the cloud.
In this blog, we’ll look at the best options for “untouchable” workloads to move to the cloud and give an overview of the roadblocks that can delay your application migration to the cloud.
The Best Way to Migrate Apps to the Cloud
According to Gartner, there are six ways to achieve application migration to the cloud (or “The 6 R’s):
- Rehost – AKA “lift and shift” by taking the application and moving it exactly as-is to the cloud. Great for migrating quickly but has the potential for performance issues or other problems.
- Refactor – For apps that require cloud-native characteristics to avoid performance issues. Optimizes use of the cloud and future-proofs with cloud-native benefits. But is also the costliest option.
- Rearchitect – Redesigning the application to be cloud-native. While this dramatically improves the application’s efficiency, agility and cost, it requires quite a bit of time and effort.
- Rebuild – Also known as “Lift and Reshape”, this option allows you to use services that are similar to the existing infrastructure without requiring code change. An example of how this might appear would be through the use of containers. However it requires additional planning and coordination and can be time-consuming and costly.
- Replace – Abandoning existing on-prem software and migrating to a cloud-first application. While this reduces the efforts to migrate to the cloud, replacing legacy systems with modern applications, your team must carefully understand dependencies on the legacy systems in your current stack before going this route.
- Retire – Getting rid of applications that you aren’t going to use anymore.
So if you have business-critical applications that are latency-sensitive and fairly large, which option is the best for you? For that, we’ve seen customers try a different method of cloud adoption: Lift, Shift, and Evolve. This strategy is perfect for organizations that have a strict deadline to migrate to the cloud but also need time to work behind the scenes to make the application more cloud native. Lift, shift, and evolve allows you meet the goals of greater business agility, improved operating efficiencies, and continuity. All while avoiding constraints such as budget, time, and risk. However, even the most appealing option to move to the cloud can run into delays. In fact, there are three factors that we often see customers run up against that completely derail even the most efficient cloud migration plan: assuring consistent performance, ensuring resiliency, and enabling scalability while controlling costs.
Managing cloud performance is challenging. It’s much different managing performance on-prem compared to the cloud. The cloud is a shared resource amongst the cloud providers’ customers. In order to keep performance consistent for all customers, the providers put throttles on performance. On top of that, performance is connected to the amount of cloud storage you’ve invested in. So depending on how much performance you need, you’ll need to buy additional costly cloud resources that might night not necessarily be able to use.
Ensuring the resiliency of your cloud infrastructure is of the utmost important. The cloud providers have been the subject of a broad range of failures and outages over the past few years. The responsibility of resilience isn’t completely in the hands of the provider though. It’s often a partnership between the providers and the customers themselves. This makes knowing how stringent to make resiliency difficult. Further complicating the situation is the complexity of the cloud. Points of failure can slip through the cracks and go unidentified until it’s too late.
Scaling Resources While Controlling Costs
It’s all too easy for your cloud budget to get out of control. As previously mentioned, because of the way that the cloud’s capacity-for-performance pricing model is set up, you probably end up seriously overprovisioning in order to mitigate performance issues. In turn, driving up your cloud costs as well as any software licensing costs you might have for databases like Oracle or Microsoft SQL Server. Another cost drain is the cloud’s share-nothing architecture. This means cloud resources are assigned directly to specific databases at their maximum need, causing significant cloud waste. Finally, by taking copies of data – whether for Dev/Test purposes or to improve resiliency – you can drive up cost by eating into your available capacity.
Migrating to the cloud is never completely easy. But overcoming these factors that delay cloud migration plans can help ease the process and ensure that you’re setting yourself up to get the best experience on the cloud possible. By getting consistently high performance, ensuring resiliency, and scaling resources while controlling costs, you can achieve your goals of application migration to the cloud.
Looking to overcome these factors that frequently delay cloud migration?
Tune in to this video for ways to address them!Watch Now