Importance of capacity planning
By Mauro Gatti and Salvatore Morsello
For more on this see also: Capacity planning overview, The role of performance capacity in capacity planning, Scalability and capacity planning, Capacity planning for server virtualization projects and Further resources on capacity planning
For comments write to: Mauro Gatti
Now and then, when a new technology appears, an IT guru stands up and declares the end of something. For instance, mainframes have been declared dead many times, but despite that many enterprise business transactions still run on IBM System z servers.
Capacity planning is not an exception. Some people think capacity planning is no longer relevant because servers are so cheap and powerful to make it irrelevant. What people often miss is that relevance (and priority) of key questions may change over time, but the questions are still out there and still matter; despite technology improvements.
Basic questions almost never lose their relevance, they simply change. For instance, the introduction of new powerful servers may make less relevant the problem of understanding how many servers are required to virtualize an existing server farm but you still need to figure out which workloads can be virtualized.
Enemies of capacity planning
As everything in life capacity planning has its own enemies. Hereafter are the main categories of people that dislike capacity planning:
All those that hate what they do not understand.
Capacity planning is often difficult and not everyone is willing to spend the time and energy required to get through its complexity. The right approach in front of what one does not know and does not understand should be to be humble and recognize own ignorance. Unfortunately someone takes the opposite stance and turns ignorance in arrogance.
All those that believe that what is most important is speed
To respect project deadlines is certainly important, but it is not more important than delivering a system meeting performance expectations without wasting precious resources. Time required for capacity planning is often overestimated, while the negative consequences of not doing capacity planning are often underestimated.
All those that believe that any performance problem can be fixed with more, cheap HW resources
Unfortunately, there are still many people that believe that any performance problem can be fixed with more powerful servers. These people are doomed to delusion and disillusion. There is very little a new server can do to improve the performance of a badly designed application.
Good reasons for paying attentions to capacity planning
No tool fits to every purpose and this is true for capacity planning as well. If you are designing the web infrastructure for olympic games it may make sense to develop an analytic model of your system; run dozens of simultations; and look to many design alternatives. If on the contrary you want to quickly start a virtualization project to grab as soon as possible the expected project benefits, you may desire a quick and dirty approach.
Hereafter are a few good reasons you should pay attention to capacity planning whatever your objective.
Capacity planning is not necessarily time consuming and expensive
Capacity planning is often perceived as an extremely time consuming activity. Quite obviously the time required to plan the capacity of a system depends on:
- the complexity of the system;
- the desired level of precisions; and
- the capabilities of the available tools.
If the capabilities of available tools are adequate for the complexity of the system and you set as target a reasonable level of precision, you have a chance to get timely and reliable results.
If you need to handle more complex systems or an increased level of precision you simply need better tools. When we started capacity planning for virtual server farms it took us days to collect data from a few servers and even more to analyze them. Now, after the development of the WASFO toolset, it may take us as little as half day for data collection and half day for data analysis, for a well managed server farm.
Capacity planning delivers more than the sheer number of servers required to host the workloads
Data Collection for capacity planning allows administrators to get a better understanding of their server farm (e.g., security credentials issues). The analysis allows to spot performance issues, identify servers that should not be virtualized, and much more.
Capacity planning may deliver business benefits that are much larger than those most people would expect
If the server farm is undersized the business costs of having a underperforming systems may be be much larger than the savings due to inadequate capacity planning. If oversizing is used to offset the undersizing risks, money is wasted and there is anyway no certainty that the system will perform in a satisfactory way. Oversizing is unfortunately not a panacea for underperformance.