Virtualization has created a data center environment where hardware costs and concerns are, for the most part,...
something of the past. In today's world, data center resources are elastic and can scale at the push of a button. However, if you ask IT professionals, they might have a few different ideas about what is elastic and exactly how many resources are truly available. The fact is, many resources in the IT environment are a lot more constrained than we would like to admit. While some of this constraint is attributed to the natural growth of applications and environments, a greater degree can be attributed to virtualization sprawl.
Before virtualization, sprawl of resources was less common due to the high cost of new hardware. Normally, purchases had to be justified with multiple levels of approval to ensure funds were being spent wisely. Nowadays, many VMs can be created for free, but there is still the considerable cost of infrastructure to take into account. Often, this is referred to as chargeback or showback. Unfortunately, since IT resources are generally considered to be internal costs and cannot be billed out, "free" VMs are often abused.
While no one sets out to waste resources, we often ask for many things that we simply do not need; this tendency is reflected in our VM requests. Initially, the overprovisioning of resources was limited to CPU and memory, but has since progressed to supplementary VMs for additional application split-offs. These machines are usually underutilized or might be used for a short time, then abandoned. While self-service portals and expiring VMs can address these issues, not everyone has these abilities or a private cloud in house. This creates a challenge to find and eliminate these possible sprawl VMs left over from the application deployments.
Finding the guilty VMs
First, you must determine whether your environment has sprawl VMs. Unless you have a single admin creating your VMs who keeps rigorous documentation, you will likely have some level of virtualization sprawl. While some may disagree, the reality is that with multiple cooks in the kitchen you will have unnecessary VMs; the trick is finding them. This is where monitoring comes into play. Often, we look to monitoring tools to tell us when resources are constrained. However, it can also be used to determine what is inactive. While an admin can look at the four major categories -- CPU, memory, disk and network IO -- it is the CPU that will often identify an abandoned VM, as it is more sensitive to activity than other resources.
Even though resource use is not always a concrete catch all, when combined with a few other clues, it makes it easier to narrow down your list. Another clear indicator is a VM that does not match up with your existing naming standards. VMs created in a hurry, or by someone who is not the primary administrator, are often rushed and do not conform to existing standards. As a result, they tend to stick out like a sore thumb. Even if the VM has been renamed in VMware vCenter, it may remain unchanged in the data center storage. A simple storage vMotion can help locate such sprawl VMs.
Additionally, you could always ask other admins about what VMs they have requested and might be actively using. Often, as the number of VMs grow, it simply becomes too difficult to remember which were used for what or when. This is where tags come in handy when creating VMs. These can be used to identify which VMs are created and why. The trick with tags is that people in a hurry generally don't create the tags needed to identify VMs. So long as you have used best practices in creating tags, it should be easy to identify VMs without tags.
Virtualization sprawl used to simply be a headache that required additional cleanup efforts. Unfortunately, as VM-to-host density increases and we run into resource constraints, unnecessary VMs become a serious drain on your virtual infrastructure.
Editor's note: This is the first in a two-part series on identifying and managing virtualization sprawl. Learn how to deal with virtualization sprawl in the second article.
Tips for VM sprawl control and prevention
How to combat VM sprawl
Preventing sprawl in your virtual environment