Most of the organizations are keen on moving their workload to cloud today for several reasons like their IT vision, reduce the spend on hardware refreshes, data center consolidations etc.
Are they ready move into the Cloud? It is an important question that every organization should ask again and again before taking the decision to move in with big bang. We see a trend with many customers to move their existing legacy applications ‘as is’ to the cloud. Shouldn’t we move into the cloud and utilize those benefits, or we just move in and I don’t care about those cloud features?
Let me start with an example here. Let’s take a case of four webservers and two database servers clustered available 24/7 with environments like Dev, Test and Prod. And you wanted to move this workload to cloud ‘as is’. My question is, what is the objectives are you trying to achieve? If the answer is, our organization wanted to move all the workload to cloud for cost saving, changing from Capex to Opex model etc. Guys, hold on… Let’s calm down, think, look around and plan again.
Lift and shift should not be our strategy for cloud migration. We should make our application to live smartly in the cloud to utilize the cloud benefits and reduce the cost. Let’s use the above example to explore this further.
- Can we make this application horizontally scalable?
- Can we make this application to use cloud native authentication?
- Can we make this application to work stateless?
- Can we make the applications to use distributed data storage?
If you can say ‘Yes’ to all or most of above questions , thumps up for moving the workload to cloud. With above application capabilities you can bring down yours spend in the cloud.
- Reduce the size of the VM, Reduce the number of VM to 2 and enable the autoscaling with load balancer in front.
- Go for a PaaS databases and go non-relational database if possible, which reduces the cost of running clustered database with two nodes. PaaS databases provide high availability and scalability.
- Automate your Dev environment to powered off, when not in use. It will bring down cloud hours from 720 to ~200 hours monthly.
- Provision your test/QA environment only when it is required. This way we can reduce the VM cost significantly.
The above approach will reduce the cloud consumption charges from 25-50% percentage. We need to have cloud native approach when you move into cloud which require change in our mindset as well.
Once we move, we need to monitor the environment smartly and bring innovation to further reduce the cost. For example, if we have a workload which needs to be processed in batches but there isn’t an aggressive deadline, we can use like of AWS spot instance or Azure low priority VMs. We can write smart scrips to automate bidding of these VMs and make use of those low cost VMs.
It does not make sense to move legacy applications, Databases, Operating systems etc to cloud because you have blurred vision to move everything to cloud. It would not only increase your cloud spend but also give you more headache. Most of the cloud operating systems are designed to support the applications and services to work without a need to reconstruct the underlying platforms for every different deployment. The latest cloud aware operating systems provides you better scalability, control, security and predictability by evolving their critical shared infrastructure at the OS level and provide much better interoperability and portability. Since the operating systems are evolved over year to gel with cloud infrastructure, it is always recommended to use latest OS to get maximum security against today’s threats. So, it is important to analyze the workload and plan your move wisely and smartly.
Cloud does not give you cost saving unless you are smart enough squeeze the Cloud.