This article was first published on SearchServerVirtualization.TechTarget.com.

Selecting Virtualization Candidates

With all the buzz about virtualization, you might be tempted to consider converting all of your physical machines to virtual ones. With the portability, deployment, and hardware utilization benefits alone, virtualization can make a compelling case. Unfortunately, virtualization isn’t the best solution for every application (at least not yet). Therefore, the challenge is related to figuring out which applications and servers are the best candidates for running within virtual machines. The central theme of the selection process is based on information about currently-supported applications: The more you know, the better. Let’s take a look at factors you should keep in mind.

Hardware Requirements

The first factor you should take into account is the actual hardware requirements for the servers and applications you plan to support. In general, you can expect that virtual machines will require approximately the same resources as a physical server: for example, if a physical server is currently running well using 512MB of RAM, you can expect to use the same amount of RAM for a virtual machine that supports the same operating system and applications. You should also look at CPU, disk, and network requirements. Most virtualization solutions will provide the amount of flexibility required to support common business applications.

Applications and services that have specific hardware or driver requirements are generally not well-suited for virtualization. For example, custom video drivers that support hardware-based 3-D acceleration are not supported on most virtualization platforms. Overall, by checking the hardware requirements, you can get a quick “go / no-go” decision.

Software Compatibility

Modern business applications range from simple executables to distributed, multi-tier configurations. When determining software requirements, it’s most important to make sure that the operating system you plan to run is supported by the virtualization platform. While you’ll only be able to get vendor support if the platform is supported, most platforms work fine with hundreds of different operating systems. You should also keep in mind requirements for specific components of distributed applications. It might be possible to virtualize some lightly-used web servers, while keeping the back-end components running on dedicated hardware.

Table 1 provides an example of how you can collect and organize information related to system requirements.

image

Table 1: An example of a virtualization decision worksheet

Licensing Issues

In many environments, software licenses can be more expensive than the hardware on which it runs. Organizations should check with vendors regarding details. In some cases, reduced licensing costs multiple applications or OS’s running on the same hardware could add up to making a strong financial case for using virtualization. Lacking any information to the contrary, however, it’s best to treat virtual machines like physical ones for the purpose of determining licensing costs.

Business Requirements

The decision to move to a virtualization platform should be coordinated with the organization’s business needs. Sometimes, it’s easy to identify areas that can immediately benefit from the many benefits of virtualization. Here are some basic signs that might indicate that virtualization is the key:

  • Are the required configurations consistent? If there is a need to deploy dozens of machines with nearly identical software and OS configurations, then the use of VMs might make sense.
  • Is there a need to reduce deployment times? In software testing and training environments, getting machines up and running quickly generally takes priority over performance and other concerns.
  • Is there a limitation on hardware availability? Virtualization can make much more efficient use of existing hardware.

Resource Utilization

Perhaps one of the most important concerns related to selecting virtualization candidates involves performance concerns. Here’s where any available performance data can be useful. In an ideal situation, you’ll have performance monitoring baselines that include statistics related to CPU, memory, disk, and network utilization. These details can help you determine the actual operating requirements for each potential VM. Unfortunately, there’s no simple formula for translating physical performance into virtual performance. If possible, you should implement performance benchmarking or compare simulated activity results when running on physical vs. virtual machines. Later in this series, I’ll cover some ways in which you can monitor performance and resource usage.

To Virtualize or Not to Virtualize?

All of this information will help you make the final decision: whether or not a specific application or server is a good candidate for virtualization. If the virtualization platform you’ve selected meets the hardware and software requirements for the application, your candidate meets the minimum requirements. If you find that you have a good fit from a resource utilization standpoint, it’s usually worthwhile to at least test the configuration in a virtual environment. By consider hardware, software, licensing, resource and business requirements when evaluating virtualization candidates, you can help ensure virtualization is the right tool for the job.