What do you think of cloud computing? Whether you view the Cloud as the Future of Computing, or feel that Cloud Computing is a massive hype and will shortly blow away – you are likely to be either drafting or implementing some form of a Cloud Strategy.
I am sure you have kept yourself updated on what is happening on cloud computing. You have a good understanding of the possible advantages (cost saving, agility, etc.) of cloud computing. You are also aware of all the concerns of adopting cloud computing (if you want an update – you can have a look at the report from Gartner IT Council on Cloud computing).
However, to make an effective cloud strategy, you need to look beyond the hype and also take a realistic view of the cloud shortcoming. Unfortunately, cloud computing is such a nebulas term that it can be used to encompass almost anything that is connected with IT! So, making an effective strategy for such a vast canvas is daunting task.
However, you task can become much more manageable if you make up your mind on the following three points.
1. Should “cost saving” be one of the strategic objective?
In theory, the economy of scale of the cloud provider is expected to make the cloud infrastructure to be much more cost effective compared to what can be achieve in your data center.
In practice, assuming that you have already implemented virtualization, the cloud is likely to be cost effective only for some types of usage. This is especially true if you are looking at IaaS (you can have a look at this research finding).
I suspect that the charges for cloud service are dictated more by demand, supply and competition rather by how much it cost to offer such services. Otherwise, how do you explain Amazon AWS and Microsoft Azure making incoming traffic free from the same day?
All of us know that hardware prices keep coming down. In 2 years’ time you can buy a machine with twice as much power at the same cost. However, the cloud pricing has not shown any such trend. So, the migration which might have been cost effective 2 year back may no longer be so.
Yes, you may achieve cost saving by migration to cloud – but that is not the point.
The question is should you make cost saving as a strategic objective for the cloud?
My recommended answer will be – No.
If you have answered yes to this question then you need to identify which of the applications have a variable load pattern and make plans for migrating them to cloud.
2. Is there a business case for increasing the flexibility and agility of your IT operation?
If you are a startup then cloud can make a difference between survival and death. On the other hand, for most main stream organization taking advantage of the flexibility of the cloud is not straight forward.
Yes, you can spin off a cloud instance in minutes but will your existing operational setup allow you to do so and deploy an application in production?
Do you have the following in place?
- Agile development methodology
- DevOps practices and self-service deployment
- Charging user department for usage
Without these practices in place, you will find it difficult to be agile. Implementing these practices will require significant amount of change in how you work. It will require time and effort. It will require people to change their thinking.
So, should agility and flexibility be a strategic objective for the cloud?
My recommendation is – Not unless it is required by business.
If you have answered yes to this question then you need to start from a business objective and find a business sponsor who will be ready to fund the cloud migration.
3. Do you need to leverage the distributed nature of the cloud?
Do you believe that applications can developed without bothering about where it is going to be deployed and still take full benefit of cloud computing? There are some who think so. However, consider the following points:
- Cloud computing without variable load does not make sense …
- Cloud computing without multiple machine instances does not make sense …
- Cloud computing without fault tolerance does not make sense …
Does your current practice of architecting, designing and developing applications take care of the above? If the answer is yes then it is great news – you are already several steps near to moving to cloud. If the answer is no then you need to consider the implication of incorporating these principles.
Here are some pointers for you to get you thinking on this direction:
Moving an existing application may mean complete rewrite.
Therefore, would you want to take advantage of the distributed nature of the cloud?
My recommendation is – Not for existing applications.
If you answer yes to this question then you need to find applications which can benefit from distributed processing.
Have you answered “No” to all the 3 questions?
Then you have simplified life for yourself. Your cloud strategy can focus on one and only one point.
“How can you get rid of all the IT related activities that are not core to your business?”
The essence of cloud computing strategy boils down to this one single point.
You have to decide which of your applications are of strategic importance to you – which of them have embedded code which you consider as your key IPR – which of them use data that are of critical business value?
Such business critical applications can remain with you and you can consider setting up a private cloud for them.
For everything else you can prepare a cloud migration plan. That plan can be mostly based on usage of SaaS taking into account how much life is left in the existing implementation, the cost of maintaining the application and the maturity of the SaaS offering available in the market.
The risk in this approach is that you may be making yourself redundant.
The recent Forrester study seem to indicate that this is really the direction the world is moving. So, if this is the direction in which the world is going to move you better get prepared for it.