Cloud computing has started moving from a buzz to the mainstream adoption. But still this is a question every CIO has – ‘To Cloud’, ‘Or Not to Cloud’. This is an easy guide to asses if your applications are cloud ready.
Cloud computing has started moving from a buzz to the mainstream adoption. But still this is a question every CIO has – ‘To Cloud’, ‘Or Not to Cloud’. And I guess the question is not going away, as the answer is not simple. It depends on a number of factors:
1) Is your application ready to cloud?
We have started hearing a lot if our application is cloud native. Question is very simple, but the problem is that there is no easy answer to it. The cloud native means differently to different people. I haven’t found any litmus test for applications to determine if the application is cloud native.
I will list some of the practice that I follow to determine if the application is cloud ready. I prepare a simple questionnaire to figure out if your application is cloud ready. Here are some of the simple questions that I ask the application developer.
- Is your application completely decoupled from the physical resources of the instance it is running on?
- Does the application store anything locally on the instance?
- Is there a physical binding of the hardware to any other resources in your IT landscape? Some typical examples are Port being open to specific IP addresses.
2) Can you bring elasticity to you application?
Cloud economy is all about elasticity. Unless you can bring elasticity to your applications, chances are you will be better off using a hosted infrastructure. So the next question is what you can do to bring elasticity to the application.
To bring elasticity to your applications, you will have to access if your application can support load balancing and auto scaling. Load balancing is something that have existed since a long time. This enables the load to be routed to available workers. However, autoscaling is another factor that need to be looked at. To leverage the cloud load balancer and autoscaling, I will again ask some questions:
- Can your instances be started from an image stored on a disk without any manual intervention?
- Is your application designed to run concurrently on different instances?
There are many other considerations, and it will be not be same every application. However, one thing is certain that to leverage the power of cloud computing, you need be cloud ready. Otherwise you will be simply using the infrastructure, without realizing it’s potential.