Taking Control of VM Sprawl (Part 1)

If you would like to read the other parts in this article series please go to:

Introduction

Server Virtualization has revolutionized IT, but it has also introduced new challenges. One of the biggest challenges is that of virtual machine sprawl. Virtual machine sprawl is one of those things that has been talked about for many years now, and yet I have not seen a single solution that works well for every situation. That being the case, I wanted to write this article series as a way of exploring various strategies for coping with virtual machine sprawl. Not every strategy that I discuss will be practical for every organization, but my hope is that some of the strategies that I cover will work for your organization.

Why is Virtual Machine Sprawl a Problem?

Virtual machine sprawl is one of those problems that impact organizations large and small. The problem is a symptom of the ease of which new virtual machines can be created.

Not all that long ago, the vast majority of production workloads ran on physical hardware. At that time, deploying a new workload was a big deal. Hardware was expensive, so there were major budgetary considerations that had to be taken into account before the new workload could be deployed. Even if the hardware costs were not an issue, the organization still had to consider other factors such as datacenter cooling, power consumption, and floor or rack space consumption.

Server virtualization did away with a lot of these concerns. Now new virtual machines can often be deployed on a whim. It has become so easy and so cost effective to deploy new virtual machines that some administrators find themselves drowning in a sea of “status unknown” virtual machines.

For an organization that has never taken the initiative to deal with virtual machine sprawl, VM sprawl might seem like more of an annoyance than a real problem. However, there are a number of reasons why VM sprawl needs to be dealt with and taken seriously.

Host and Guest OS Licensing

The first of these reasons is licensing. Admittedly, licensing is of greater concern in some environments than others. For example, if an organization is running Hyper-V as a role on Windows Server 2012 R2 Datacenter Edition then the host license covers all of the Windows virtual machines that are running on that server (so long as those virtual machines are running the same version of Windows as the host). However, if an organization decides to run Windows on a non-Microsoft hypervisor then the organization will have to purchase the required Windows Server licenses and possibly some hypervisor licenses.

Resource Consumption

Another reason why virtual machine sprawl needs to be kept in check and taken seriously is because in spite of appearances to the contrary, new virtual machines are not created free of cost. Even if a virtual machine can be created without incurring any sort of licensing costs, the virtual machine incurs what I like to call opportunity costs. Let me explain.

When a new virtual machine is created, there are host resources that are being consumed by the virtual machine. This might include things like CPU cycles, storage bandwidth, network bandwidth, and physical memory. Even a virtual machine that remains powered off consumes storage space.

With that in mind, consider the cost of your virtual machines. If an organization haphazardly deploys a new virtual machine just because it is convenient to do so, then that virtual machine is consuming at least some degree of system resources. These are resources that are now unavailable for use by other virtual machines that might be created in the future.

Assuming that the organization has plenty of host server resources available, the organization probably isn’t going to incur any immediate, tangible costs as a result of deploying a new virtual machine. As more and more virtual machines are created however, the host server will eventually be depleted of its resources. At that point, the organization will have no choice but to spend money on new or upgraded hardware.

Some are quick to point out that resource depletion is an issue in any virtualized environment regardless of whether or not virtual machine sprawl is an issue. While I will happily concede this point, there is no denying that carefully controlling resource consumption by keeping VM sprawl in check helps resources to be used more efficiently, thereby reducing long term hardware related costs.

Virtual Server Management Costs

Yet another reason why it is important to keep virtual machine sprawl in check is because even if there are no immediate operating system licensing or hardware costs being incurred, virtual server creation almost always increases management costs. This happens in several different ways.

Virtual machine management costs can be tangible or intangible. Tangible costs often exist in the form of licensing costs. I’m not talking about operating system licensing, but rather management and utility software licensing. For example, the creation of a new virtual machine might force the organization to purchase licenses for things like management agents, backup agents, or even antivirus software.

Intangible costs can be thought of as work that the IT staff does to create and maintain the virtual machine. For example, if it takes the IT staff two hours to add a new virtual machine to the existing management infrastructure and to configure a backup job for the virtual machine, then there is a direct cost associated with those two hours. The argument could be made that the IT staff is being paid anyway, so it doesn’t matter how they spend their day. However, the time that the IT staff spends working on the new virtual machine is time that could have been spent doing something else. In the end, there are only so many hours in a day.

Security

One more reason why it is so important to keep virtual machine sprawl in check is because virtual machine sprawl can undermine an organization’s security. While this idea might initially seem farfetched, the reasoning behind the idea is solid.

There is a rule of computing that essentially states that the likelihood of an exploitable security vulnerability existing is directly proportional to the size of the code base. In other words, more code means more risk. When you deploy a new virtual machine, you are increasing the organization’s IT footprint thereby also increasing risk.

Now I realize that some of you are probably screaming at me as you read this because the idea that I just presented overlooks one key fact. Most virtual servers are generated from templates that have been configured to be secure. As such, every new VM should be identical (at least at the OS level) and introducing a twin of VMs that already exist should not increase risk.

While this idea is true, one also has to accept the idea that configuration drift can occur over time. More importantly, as the number of virtual machines increases, so does the amount of time that it takes to patch the collection of virtual machines. A patch is often a fix for a known vulnerability, so anything that delays patches being applied inherently increases the risk of a security breach.

Conclusion

As you can see, virtual machine sprawl not only creates administrative headaches, it also has the potential to significantly increase the cost of an organization’s IT operations. That being the case, it is important to come up with a strategy for not only cleaning up existing virtual machine sprawl, but also for preventing sprawl from reoccurring. As previously mentioned, there are numerous schools of thought on how best to accomplish this. I will begin discussing sprawl prevention strategies in the next article in this series.

If you would like to read the other parts in this article series please go to:

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top