Sunday, May 19, 2013

Cloud computing - capacity planning



One of the problems of traditional capacity management is that resources are often underutilized. Not to mention the fact that it is very slow and sometimes painful process to get access to new capacity and it almost impossible to voluntarily relinquish excess capacity. Never ignore the human factor in cloud and capacity planning because often times that is the difference between success in the cloud or failure and disillusionment.

Cloud Computing provides the illusion of infinite computing resources available on-demand but you need to manage budgets. so capacity planning is still very important.

Cloud computing cannot magically solve business problems. I guess it was Etrade that somehow
discovered that one of their competitor was charging money less than the Etrades transaction cost. When an organization is up against such core issues, cloud computing is not going to solve them but instead exacerbate them. What we need is an effective analysis detailing the reasons for the current state of things and then attempting to figure out not if but how cloud computing can solve this.

Since cloud resources could be virtualized, Capacity planning, first includes the ability to measure in cloud terms and not be confused about the units. For instance, CPU is typically standardized at 1 Ghz, and is considered 1 CPU.

It is important to consider the maximum "single" VM request that can be fulfilled. for instance can we provision a VM with 24 CPUs and not run against the actual physical CPU limits? The same applies to memory as well.

In cloud computing it is easier to relinquish control over resources because one knows that they can quickly get it again.

A few of the important things in capacity planning is understanding:
- Current capacity
- Current utilization
- Future utilization
- Trend and spikes
    - can we handle the temporary or seasonal "spikes" in demand and also handle the general up or down trend.

The above considerations help in answering the questions around ROI (return on investment). 

But how do I estimate?
There are tools available including one from IBM; IBM infrastructure planner for cloud computing.