General Manager & Partner | Azure MVP
Note: This is a continuation of a previous article regarding migration to the Cloud you can find here.
So you are a bit more convinced that the Cloud might be a solution
How do you proceed?
How do you make sure your migration is a success?
Lift and Shift 101
This is, as opposed to migrating the solution to Platform as a Service, which basically means taking advantage of the services the Cloud provider might offer, to reduce the complexity and management work of your infrastructure.
In a nutshell, here is a comparison between the two models:
Actual Lift and Shift
Modern or legacy solution?
I won’t get too technical, but for legacy systems moving to the cloud might pose some problems. Recently, Microsoft Azure for example has done a great job in removing such risks, because even for such applications which weren’t designed for distributed workloads, we have the Load Balancers who can take care of this by enabling Session Stickiness or Client Affinity (both the LB from IaaS, which is a level 4 LB, and the LB from Web Apps which is a level 7 LB, can take care of this in at least a minimal way).
- Your local solution is monolithic. You have both the web server and database server on the same machine. When you go to the cloud, you might want to be able to scale those independently – meaning you want your web fronted isolated from the database to better use the resources.
- On premises, you use something like a daemon, or a cronjob, or a Rabbit Queue, or a MSMQ. All of these have better correspondents in the cloud – meaning, services provided to us (without the operational burden on us) – and you might want to replace the local components with the services in the cloud.
So, this might affect your topology. If on premises the web server was “near” your database (calls on the same machine are an order of magnitude under 1 millisecond), the web server calling a database service in the cloud means TCP access (milliseconds per call). So, beware of such changes, think where your solution is very chatty and address those areas – sometimes with changes in code.
Moving your solution to another Cloud provider would mean replacing those specific services with their counterparts (if they exist, they usually do) from the new provider. And that means cost. So, choosing the Cloud provider is a very important decision, not only but also because of this aspect.
A great technology from Microsoft is called Azure Stack. This is great specifically in hybrid scenarios because Azure Stack is using the exact same technology as Azure. Meaning: the same way to create and manage resources in Azure and on premises with Azure Stack. Which means less operational and management work: you have the exact model, the same technology, the same tools to monitor and operate your workloads, wherever they are.