Back to Blog

Iddo Avneri

Why excel is a bad capacity planning tool.

capacity planning - 3d

Let me start by admitting that excel is one of my favorite tools in the history of tools. I am an excel junkie! I spend time going over the new functions as they came out, I love the keyboard shortcuts, and I’ve probably written hundreds of macros. It is a phenomenal tool.

However, that doesn't mean that excel should be used for EVERYTHING (though you would be surprised of how far it can go).  Specifically, let’s discuss capacity planning.

Why would you use  excel for capacity planning?

- You own it, so why not?
- You have a lot of moving parts you want to look at and “trend”. Some examples: VCPU utilization, VMem utilization, Physical Memory Utilization, Physical CPU Utilization, Allocations, Over subscription rates, Network utilization, Future growth, Storage available, This provision storage ratio, IOPS utilization, many more…
- You have many constraints in the system you need to make sure take effect
- You need to be able to manually input your knowledge about future demand

Sounds great, why not use excel then?

Capacity cannot be calculated correctly in a vacuum

Let’s play a game of 2 dimensional Tetris!

I have the following environment:

capacity planning - memory

A new request come in – deploy a VM requiring 8 GB of memory. Can you fit it? Maybe.

Theoretically, I should be able to move resources around and “fit” the additional workload.

For example, let’s say this is the memory utilization on our hosts:

capacity planning - memory utilization

In this case, I can potentially move things around and add the new 8 GB VM this way (notices VMs are now placed on slightly different hosts):

capacity planning - memory utilization 2

But can I?

For the sake of simplicity, let’s say the capacity of each host is 10,000 MHz of CPU. And it is currently being consumed in this way:

capacity planning - cpu

capacity planning - cpu utilization

The new VM will require 1000 MHz of CPU. If I place the VMs the same way I did before, this would be the new state of CPU on my three physical hosts:

capacity planning - cpu utilization 2

You may notice that host 3 exceeded its capacity. Host 2 is also not what I would consider healthy, running close to 90% CPU utilization.

So is there a way to add the additional VM? Try for yourself! Here are the details:

capacity planning - memory and cpu

See if you can or cannot fit a new VM on 3 hosts with this capacity:

capacity planning - 3 hosts

Scroll down when done….

capacity planning - time

How many seconds did this exercise take you?

Here is one solution I came up with:

capacity planning - cpu and memory solution

To summarize this quick game of 2 dimensional Tetris. You cannot simply look at available capacity in a cluster or a host or a virtual data center and decide if there is or isn’t enough capacity.

In real life, we need to look at more dimensions. What about network utilizations on these hosts? IO?

You probably also have significantly more than 16 VMs…

What if there are some business constraints? Due to licensing, VM1 and VM3 may need to sit on the same physical host – Is there a solution?

What if I have HA defined for N+1 – is there a solution?

What if tomorrow the VMem of VM9 changes and it uses all the available capacity of memory it has – are we safe?

What about the datastores? What about the disk arrays? DOES IT FIT?

Turbonomic enables you to do this in a scientific way. Can I add VMs to my environment?
The answer will be yes – and this is how (where to place what VM). Or no – And this is how if you add new hardware (including how much hardware you need):

capacity planning - what if

Output of a Turbonomic plan includes where to start the VM (Storage and Physical Machine) and what  movements are needed to bring the environment to a healthy state.

Turbonomic automatically detects and takes into consideration HA rules, affinity and anti affinity rules. Turbonomic takes any additional placement constraints when showing these decisions.

In addition, Turbonomic can predict growth in the system based on historical demand. Future capacity can be reserved and taken into consideration as well. Turbonomic understands the demand of your VMs (as well as applications or containers) and assures this demand is best satisfied by the available resources and business constraints in your data center. The result is not only a powerful what-if analysis but more importantly assuring application performance in real-time.

So why work with graphs? The only valid answer for using excel is you already own it. But it doesn't give you what you need in this case.