The benefits of virtualization are widespread and well known today. You can save money, maximize resources, and more. While this technology is certainly a beneficial one, that doesn’t mean you should virtualize absolutely everything.
Here are a few cases where it’s better not to utilize virtualization.
Are your workloads very resource intensive?
There are a couple of reasons resource-intensive workloads shouldn’t usually be virtualized. First, there are certain hypervisors that limit the scale of your virtual machines, such as the number of virtual CPUs and the amount of memory that can be assigned to each VM.
To be clear, these limits are very large and it is unlikely that you will be restricted by them, but it is important that you consider this point. If your workload doesn’t reach the limit but is still very resource intensive, you’ll have to be careful about fault tolerance.
Of course, you have the option to protect yourself by using failover clustering, whether your server or application is virtualized or not. Your options would be to “create a Guest cluster within the virtual server environment, or...use host-level clustering to automatically live migrate the virtual machine to a different virtualization host in the event of a host server failure.”
Yet, the problem here is still resource consumption. If you have a workload with unusually high consumption, it might not be able to failover to another host, particularly if that host is running other workloads.
Because of this, it’s usually best to keep your very resource-intensive workloads physical rather than virtualized.
On a slightly different note, if you have an application such as video streaming or backup systems that use a large amount of RAM, disk I/Os, and CPU utilization, you should consider not virtualizing these either, as the performance will be slightly sacrificed to the overhead involved.
While you could technically have the same, or similar, performance with a dedicated host running only this specific program or server, in this case, it wouldn’t make much sense to virtualize the application.
Any dependence on physical hardware?
This should be an obvious one: if your program requires attached hardware to work properly, it’s best not to virtualize it. As explained by Scott Matteson, “This rule also applies to network devices like firewalls that use ASICs (application-specific integrated circuits) and switches that use GBICs (gigabit interface converters).”
There are a number of different types of hardware dependencies that vary by application that would prevent the application from functioning properly on a virtual server. This could also simply be due, not with the program itself, but with copyright enforcement.
For example, an application might make sure that there is the presence of a necessary USB flash device so the application cannot be legally passed around and copied.
Additionally, some workloads are simply dependent on physical storage. It is important to recognize, though, that Hyper-V and VMware can both attach a VM to a physical disk, getting around this issue.
Even though there are certain instances where you can get applications to work without their added dongles or other physical requirements, it’s usually not worth the hassle, and there is no guarantee that it’ll run as it should.
Check the license
I am aware of a global enterprise that saved $4 million in hardware through virtualization, but it cost them $52 million in a resulting software license compliance issue -- Amy Konary, IDC vice president of software licensing and provisioning
There are often applications or operating systems that do not allow virtualization, either through their license or support agreements. This means it is important to double-check the license and support contract before you make any assumptions.
If an important program doesn’t state whether virtualizing their product is acceptable or not, check with the company to be sure. If you can’t get a straight answer, it’s usually better to be safe than sorry and keep it physical rather than virtualized.
Make sure you don’t skip checking the licensing information because you don’t think that it’s important. According to Flexera Software, “43 percent of organizations do not have sufficient processes and automation in place to manage their virtual licenses, placing them in substantial risk of failing out of compliance with their software licenses.”
Later in that article, Amy Konary, IDC's vice president of software licensing and provisioning, explained, “In one instance, I am aware of a global enterprise that saved $4 million in hardware through virtualization, but it cost them $52 million in a resulting software license compliance issue.”
As you can see, understanding and respecting licensing info is certainly important. Also, as if the potential negative costs involved weren’t enough, you wouldn’t have any possibility of getting help from the vendor when necessary if you virtualize their product without permission.
Have secure information?
Virtualization brings its own security concerns with it. While these concerns could be in an article all on their own, one case is particularly relevant. If you have any information that you would prefer staff members not to see, it could be riskier virtualized.
This depends on how much control your admins or staff have while working with the VMs. For example, certain staff members may be able to control the host systems, therefore getting past any permissions you may have set up to restrict other users.
While virtualization can be extremely secure if managed properly, you should wait to virtualize extremely sensitive information, at least until you have a firm grasp of the potential vulnerabilities.
Do you really need to?
Yes, virtualization is a great technology that can bring many benefits. Yet, you have to keep in mind that there is time involved, as well as a learning curve when training in a new technology.
This means that while you’re getting everything up and running, do not virtualize anything that is particularly important because there is the possibility that it will fail while you are learning and adjusting.
Essentially, once you understand when and how to virtualize servers and applications, you can maximize your resources, save money, and simplify certain tasks. However, take the time for good training, documentation, and an in-depth understanding of your environment. With this, you can plan the best balance of physical and virtual computing for your company.