Microsoft's recent purchase of Connectix's virtual machine (VM) technology and products underscores one of today's hottest technology trends: VM software. VM software enables multiple OSs to simultaneously share one hardware platform. Typically installed on top of the base OS, VM software works by implementing a software layer called a virtual machine, which emulates the hardware. You can then install multiple OSs, typically referred to as guests, on top of the VM layer. All the guest OSs can run concurrently, unaware that other OSs are present and running on the same hardware. The VM software handles the task of abstracting and sharing the actual hardware between all the VMs.
A Classical Technology
VM technology isn't new. IBM's Virtual Machine OS for the mainframe has used this technology for the past couple of decades. But the massive increases in processing power, memory, and disk storage on the PC platform in the past few years has made VM software practical for the Windows OS as well.
The two main players in the Windows VM arena are VMware and Connectix (now Microsoft). VMware has been around since 1988, and the company's VMware Workstation and VMware Server lines are known for their support of OSs such as Windows Server 2003 and Linux. (For a review of VMware GSX Server 2.5, see page 35.) Connectix, which also entered the VM market in 1988, created Virtual PC for Windows and Virtual PC for Mac, which provides the ability to run Windows applications on the Apple Computer platform.
Several leading-edge companies have used VM software in their lab environments for some time. VM software is valuable in numerous lab scenarios. One of the most useful implementations is to use VM software to set up multiple test platforms by running several different operating environments on the same machine. This approach is particularly appealing if you want to test multiple Microsoft Systems Management Server (SMS) deployment targets without setting up a roomful of systems. VM software is also handy in the lab if you need to set up a clustering test bed. You can perform a dry run by setting up your cluster on one inexpensive machine before you go live on costly clustering hardware.
VM software has many uses in a production scenario as well. For example, in a server consolidation scenario, you can replace multiple low-end servers with one powerful n-way system that runs several VMs. Because the guest OS software stays the same, moving to the new hardware platform requires less effort. You can also use VM software to extend the useful life of your existing OSs. For example, let's say you're running Windows NT 4.0 systems. From the software standpoint, those systems might run fine, so you'd rather not incur the cost and hassle of upgrading to a new OS. But those systems might be running on aging hardware that isn't nearly as fast as more modern machines. Moving your environment to run in a VM on a new server can breathe new life into an old but stable platform.
Virtual Machines, Real Solutions
VM software is an old technology that makes sense for many new applications. If you're not already using VM software, you probably should be—it frequently proves beneficial and cost effective in test and coexistence scenarios. If your business is interested in a flexible test environment, server consolidation, or extending the life of existing legacy software platforms, VM software can prove to be more than a virtual answer.