Capacity Planning - Part 2

Author: Thomas Bryant, Director of Advanced Technology & Products, Vizioncore

Continuing from my last post about capacity planning, Capacity Planning Part 1, I am going to discuss some of the ways that you can find your current capacity, as well as future capacity. While there are many tools out there that can help you, I’m going to focus on one or two concepts of capacity planning.

So the first thing to consider is how you wish to model your environment. This can be the simplest and the hardest part. If you go ask Gartner, IDC or one of the many large research firms, they will tell you there are lots of ways to model capacity. You can establish models based on usage, peak performance and a wide variety of other factors. What I find is most companies are interested in a very simple model to base capacity on. This is why I use a model I call “Unit” or “Slice” based capacity.

What is a unit or a slice? It’s whatever you want it to be a unit of measurement for. So what should I make a slice be? Only you can answer that, but generally defined a slice as 1 vCPU and/or 1G of memory. So 2 slices is 2 vCPUs/2G of memory and so on. With this most customers start to grasp how easier this is compared to counting everything. The next question is what about storage and networking? The simple answer is you cannot define capacity for CPU/Memory the same way you do storage. So storage can have slices as well, but storage is something that needs to be looked at a little differently.

So back to the slices... once you determine your slice model, you get to figure out how many you have. You can start by looking in vCenter or your ESX hosts and look at all the VMs. Manually add up the slices based on the total number of slices in use.

For example:
1 Slice = 1 vCPU
1 Core = 4 Slices possible
Host 1 has 8 cores

This would give then yield some results like - ESX Host 1 you have 20 VMS all with 1 CPU each, you would have 20 slices in use, and you have 12 more possible to use. This is very simple vs. saying you are at 63% CPU utilization and you can add X, Y, Z workloads to use.

The alternative, and more accurate version & more complex, is to look at performance workloads and model those for capacity. This is where you say I have the same 20 VMs, but you need to look at past performance, say over 30 days or ALL time. Then you build models to predict future behavior and also to create a model workload based on each. Along these lines you would have an Exchange Server model, SQL Server model, etc... So you can then say what if I had the Exchange model + 5 SQL Server models + a set of other VMs. What would that look like now and would I have room in the future to do this?

The math on all of that is extremely complex and doing it by hand is a tedious task. This is one of the reasons we have a new Capacity Planning & Analytics component in vFoglight Pro 5.2.6. With this we can take those workloads, define a target host and look to model workloads at a VM to Host level. This gives a more accurate picture then the Slice model, without forcing you do to all the math. I’m very excited by this and some of the other things you can do around both models that are both canned in the product and easily created via a custom dashboard yourself.

My next post, I will be talking a little bit more around each model and some interesting ways you can forecast future growth with even more clarity. Please feel free to drop me an email with suggestions or improvements you would like to see.