Virtualizing a volatile IT environment, such as a test and development laboratory, is relatively simple and can be done in a few quick steps. It doesn't have to be an overly expensive venture either, because current hardware is offers a cost savings in terms of dollars for processing power over past generations. The key to successfully virtualizing your test and development lab is to keep it simple.
First, obtain the proper hardware. Host servers need a great deal of resources, including multicore CPUs and large amounts of RAM, network adapters and storage. For example, to start small, use a machine like Dell's PowerEdge T105 Tower server or the HP ProLiant ML115 G5 Server. These small-footprint servers have one quad-core AMD CPU, up to 8 GB of RAM and can include a large amount of storage. Prices range from $350 to $2,000 for a fully loaded server, and the machines fully support server virtualization. Additionally, you don't need to buy new hardware if you can recover a similar system from existing machines.
Next, obtain a free virtualization engine. All major virtualization vendors offer top-level virtualization engines at no cost. Microsoft's free Hyper-V Server is based on Windows Server 2008 Standard Edition and can run several virtual machines (VMs). VMware's no-cost ESXi hypervisor can run from a bootable USB thumb drive that's installed on the server. All versions of Citrix's high-performance hypervisor XenServer are free of charge.
While these aren't the only complimentary server virtualization products on the market, they're often the most downloaded. Each product is a bare-metal hypervisor, which means that it doesn't require an underlying operating system to operate.
Other free products, such as Microsoft Virtual Server, Sun xVM VirtualBox and VMware Server require that an OS is installed before they can be deployed. Using such software-based virtualization solutions will reduce performance. On the plus side, though, these tools can run on older hardware and can help to further reduce laboratory costs.
Building your virtualization environment
After selecting which virtualization engine to use, it's time to start building your virtualization environment. A simple method for doing this is to perform physical to virtual (P2V) migrations, which can be performed for free.
Microsoft offers a 180-day evaluation of System Center Virtual Machine Manager 2008 (SCVMM), which supports environments running either Microsoft or VMware virtualization engines. Because this tool is equipped with a pre-built virtual machine, getting it to run involves just these four steps:
2. Copy the file to a host server.
3. Configure a VM to use the VHD as its system disk.
4. Boot the VM.
After that, you have access to a full-featured version of SCVMM that supports P2V conversions, among other things.
Next, you can point to all test and development machines that make up your environments and gradually convert each one to a VM. SCVMM even supports online conversions or conversions that occur while machines are delivering services to users. Online conversions are not supported for every server role or OS, but there shouldn't be a problem if you are running Windows Server in your network.
If you're running another underlying server technology, then you can rely on a multitude of tools to perform a similar conversion. WinImage, for example, is a program designed to work with DVD images as ISO files. The tool can also convert a physical disk into a virtual hard disk that works with either Microsoft, Citrix or VMware virtualization technologies (Figure 1). Conversion involves more than simply converting a disk, but having the disk in virtual format at the beginning is a great first step.
Figure 1. WinImage can convert physical disks into virtual drives.
Once you've converted all of your environments, you can move to other implementations in the laboratory. For example, SCVMM has the ability to run a self-service portal for virtual machine management. This portal is a Web page that lets authorized users generate, customize and run their own VMs (Figure 2). All VMs are generated from custom templates that are stored in a central library; therefore, they are all standardized.
Other laboratory management tools have similar or better functionality, but few of them are available for long-term evaluation. VMware, for example, offers VMware vCenter Lab Manager, a tool that relies on approval workflows to generate entire IT environments. The tool then charges workflows back to the appropriate cost centers. Lab Manager is available for a free 60-day evaluation.
At this point, your laboratory should include multiple environments, each of which has its own requirements. VMs allow you to implement full graduation procedures for newly developed code as well as new technologies that you want to put into production. These environments build on each other in terms of complexity. They also support the implementation of entry and exit criteria to control how code and services progress through different environments (Figure 3).
Figure 3. Use graduation environments to control the introduction of new code and services. (Resolutions Enterprises Ltd.)
Danielle Ruest and Nelson Ruest are IT experts focused on continuous service availability and infrastructure optimization. They are authors of multiple books, including Virtualization: A Beginner's Guide and Windows Server 2008, The Complete Reference for McGraw-Hill Osborne. Contact them at firstname.lastname@example.org.