Scott Lowe explores the virtualization options that you have to choose from, particularly the free or very inexpensive ones. Find out more about the benefits and limitations of each of these virtualization tools.
In my previous posting, I talked about various ways that you can replicate enough of your physical infrastructure in a lab in order to be able to perform realistic testing. Although testing can be performed without taking the step of replicating your real environment, the results will be much more accurate and pertinent if you do so. Previously, I talked a lot about VMware ESX and Platespin PowerConvert, but there are a whole lot of other tools out there that can help you perform testing, even if said testing is performed only at the desktop level. In this posting, I'll talk about some of the free or inexpensive tools you might use to accomplish your testing goals.
Although Microsoft has taken their sweet time getting seriously into the virtualization game, they're now entering the market with their usually successful tactic: brute force. Microsoft has three "free" virtualization platforms available for use and all are suitable for testing environments. I put the word "free" in quotes because the third option, Hyper-V, is available only with Windows Server 2008, and has not yet been officially released. The first two platforms, Virtual PC and Virtual Server, are available for free download from Microsoft's site.
A long time ago, in a software store far away, Virtual PC — Microsoft's desktop-based vitualization platform — used to cost money. Today, it's a free download from Microsoft's Web site. Virtual PC 2007 is a very respectable product in its own right... if you run Windows for the host. Unlike many other virtualization platforms. Virtual PC is a Windows-only affair. Although guest machines inside Virtual PC can run Linux and other operating systems, the host must be a Windows computer. Further, Linux-based guest machines may run, Virtual PC's Virtual Machine Additions do not natively work with Linux-based guests, so complete integration and compatibility remains uncertain. Virtual PC 2007 does not support 64-bit guests, which will frustrate attempts at testing 64-bit software.
Virtual Server 2005 R2 SP1
Virtual Server 2005 was Microsoft's first foray into the enterprise virtualization realm and does a reasonable job for simple virtual tasks. If your end goal is simply server consolidation, Virtual Server 2005 will fit the bill. Like Virtual PC, Virtual Server 2005 is available as a free download from Microsoft. However, that's where the similarity between the two products ends. While Virtual PC has a native management console, Virtual Server 2005 relies entirely on a Web-based console hosted inside IIS. Guest management from a remote client is accomplished through the installation of an ActiveX plugin. Further, Virtual Server 2005's Virtual Machine Additions for Linux work as advertised. Whereas Virtual PC's additions support only Windows guests, the Linux Additions do work under Virtual Server 2005, making Virtual Server 2005 suitable for testing Linux guests. Virtual Server 2005 does not support 64-bit guests, but will run on a 64-bit host. As a result of this limitation, Virtual Server 2005 is not suitable for testing 64-bit guests; only 32-bit guests are supported.
Since it's not formally released, not a "testing" product per se, and will be the complete topic of a soon-t0-be-released posting, I'm not listing much here about Hyper-V except to say that it will overcome many of the significant limitations imposed by both Virtual PC 2007 and Virtual Server 2005.
For many IT people, when they hear the word "virtualization," VMware instantly springs to mind. Virtualization has been around for a very long time, but VMware has brought it to the masses, even commoditizing it to a point where organizations of every size are, at the very least, considering virtualization as a way to reduce costs, reign in complexity, and increase availability.
VMware Workstation, first released in 1999 and currently at version 6, is probably the most widely used virtualization platform for testing. It's robust, fast, well-supported, runs on both Windows and Linux platforms, supports 64-bit guests, and supports guest virtual machines of just about any flavor. VMware Workstation is not a free product, though. VMware charges for it, but it's well worth the price, in my opinion. I run a ton of virtual machines to test a wide variety of software, and VMware Workstation has never let me down and is my personal test platform of choice. VMware Workstation also supports monitor spanning by a guest machine and a whole lot more. If you need a desktop product for enterprise-grade testing, VMware Workstation is your best bet.
VMware Workstation can also be used to test USB devices. Simply plug a USB device into the host computer while a VMware-based guest has focus, and the USB device becomes available to that guest.
A while back, VMware discontinued their GSX Server product and released it as the free VMware Server. This is a great tool for those that want to dip their toes into the VMware waters but don't want to spend any money. Like VMware Workstation, VMware's not-free desktop virtualization platform, VMware Server installs on top of a host operating system; either Linux or Windows will do. Remember also that VMware has their bare-metal product, the seriously not-free VMware ESX Server/VMware Infrastructure product that is designed for enterprise use and comes complete with high availability.
VMware Server 2.o is currently in beta and sports a number of enhancements and changes from the 1.0 version, which was basically a rebranded GSX server. Server 2.0 supports USB 2.0 devices, 64-bit host and guest machine support, wide operating system support and much more. Also, I'm relieved to report that VMware has made one tremendous change with beta 2.0 of Server 2.0. Beta 1 completely obliterated the comfortable single-pane management console in favor of a Web-based console. To say that the Web console was a poor replacement is generous. In beta 2, VMware has gone with a more hybrid approach, with VM management still taking place in the Web console, but interaction with the VM taking place in an independent virtual machien console.
Although I'm not going to provide a list of every possible virtualization platform solution, I would be remiss if I failed to mention Sun's VirtualBox, which Sun purchased from Innotek. VirtualBox provides many of the same great features as VMware Workstation, including rich Windows/Linux host/guest support including additions with planned support for Mac OS X. Unlike VMware Workstation, however, VirtualBox is free for non-commerical use. VirtualBox also supports USB-passthrough like VMware Workstation. VirtualBox also supports seamless integration of guest application windows into the host environment. VirtualBox supports both 32- and 64-bit hosts, but does not support 64-bit guest virtual machines.
Parallels is another relative newcomer to the virtualization world. Parallels Workstation runs on either Linux or Windows hosts but the product does not support running on 64-bit hosts nor are Linux or 64-bit guests supported. This makes Parallels less than ideal at this point for serious testing, but the company has indicated that 64-bit and better Linux support are coming.
I'm going to save Xen for a different posting so I can explain it in more detail. Although Xen is extremely popular, it is limited to Xen-aware host operating systems, which Windows is not. Windows guests, however, are now supported on Xen when used with processors that support VT extensions.
For general testing purposes with a product that supports, by far, the widest array of hosts and guests, choose either VMware Workstation or the beta of VMware Server 2.0. If you have simpler needs, just about any of the other products will do as well. The point here, though, is that there is a ton of choice in the virtualization marketplace.