Intro to Elementary Capacity Management
Tuesday, May 03 2011 09:32 Written by VMGuru
Introduction
Over the last 6 months we have seen a significant increase in awareness and interest in the topic of "Capacity Planning". While doing my own research, I found very little information available that truly highlights the problem and solution surrounding capacity. Instead, I ran into countless "Top X Tips/Metrics" whitepapers and a LOT of vendors (mine included) trying to sell me software without providing a clear definition of what this "Capacity Planning" is all about.
The first thing you'll notice is that I keep using "Capacity Planning" in quotes. This is because I don't feel as if this term properly encapsulates the end goal of what is required for the business that relies on this datacenter of the future. You can't just simply "plan" for capacity and leave it at that. Capacity needs to be managed proactively with proper monitoring, alerting, and optimization. Understanding Capacity Management (no quotes) is vital for effectively managing the dynamic nature of the virtual and cloud datacenter.
For this blog series (there is simply too much info for a single blog post) I want to take a very different approach than you guys may expect. I'm going to describe capacity at a very fundamental level. I'm going to remove the technology aspects and keep the information very consumable. The primary reason for this is that when looking at Capacity Management across the datacenter, it's not just about the virtual environment or the physical systems. It's also about the underlying storage and network infrastructure, it's about the operating systems running within the virtual/physical platform, it's about the applications running within the OS, and it's about the end user consuming the applications. By keeping it basic, I want to enable all stacks within the datacenter to understand and apply Capacity Management concepts across their area of expertise.
Capacity Management
In the simplest form, the definition of capacity is the maximum amount of a resource that can be stored within a container. This can be represented as the number of VMs [resource] in a cluster [container], amount of bandwidth [resource] through a switch backplane [container], or for the purpose of this blog series, the number of apples [resource] I can store in a crate [container].
The key to Capacity Management is in the ability to answer a specific set of questions:
- What am I doing with my current capacity? (Utilization)
- How quickly am I filling up my capacity? (Trending)
- How much more can I do with my existing capacity? (Forecasting)
- What will my utilization look like at a future point in time? (Forecasting)
- When will I run out of capacity? (Forecasting)
- What happens if I add or remove capacity? (Adjustment)
- What happens if I change how I use my resources? (Tuning)
- What happens if I change my utilization growth pattern? (Tuning)
- Where is the best place to contain my resources? (Scheduling)
The ability to understand, monitor, and track the relationship between these questions in a categorized manner, is in essence, the practical definition of Capacity Management:

Trending and Forecasting
In the above diagram, we start to link the key components of Capacity Management together into a logical flow. Before doing anything, you need to understand how the resources in your container are currently being utilized. Utilization is normally considered to exist in the present. It essentially answers "What does my container look like right now". If we take multiple snapshots of of utilization over a period of time (1), we can start to establish a trend of how the utilization has changed over time. This moves us into the past tense of how how has the environment historically been used and how quickly the capacity is filling up.
Once we have enough trend data, we can start to make assumptions about how the utilization is going to change moving into the future through forecasting (2). Forecasting is always an assumption based on trending data. While there are different methods of calculating forecast data to improve the accuracy, there will almost never be a 100% accurate way to forecast utilization and capacity information. Part 2 of this blog series (Trending and Forecasting) will dig deeper into these concepts. The diagram below provides a simple example of a typical representation of trending and forecasting data.

Adjustments and Tuning
Adjustments come into the picture as changes to the amount of capacity available or a change in how existing resources are utilized. Adjustments have a direct impact on utilization (3) in that if the capacity changes and the consumed resources doesn't, fundamentally, the utilization rates change. This concept will be more clearly defined in Part 3 of this blog series, (Adjustments and Tuning). The chart below highlights an adjustment in utilization growth, which ultimately has an impact on the forecasting for the future.

Tuning is the intelligence and decision-making process to optimize or change the way in which the existing resources are utilized. With tuning, the only thing that is changed is the way in which current resources are being utilized. There is not a direct change in capacity because of tuning. Tuning is the decision process that ultimately performs an adjustment based on the utilization, trending and forecasting data available (5). The optimal scenario is that through tuning resources, unnecessary capacity can ultimately be removed to lower the cost of the overall solution. As previously stated, Part 3 will go into more detail on Adjustments and Tuning.
Scheduling
The final aspect of Capacity Management is scheduling. Scheduling is not highlighted on the above diagram, as it ultimately leverages all of the identified concepts to determine how the defined objects are utilizing the resources across multiple containers. Scheduling takes a look at the trend and forecast data to ultimately determine the best container for existing, as well as newly added resources. Part 4 will serve as the finale to the blog series and will cover scheduling concepts in-depth. I'm going to cut this sub-section very short, because once I start going into the weeds here, it's almost impossible to stop.
- Part 1 - Intro to Elementary Capacity Management
- Part 2 - Elementary Capacity Management - Trending and Forecasting
- Part 3 - Elementary Capacity Management - Adjustment and Tuning
- Part 4 - Elementary Capacity Management - Scheduling

| < Prev |
|---|


