Virtualization isn't something new. It's been around almost since computers moved into the mainstream. IBM's VM (virtual machine) architecture has been the mainstay on mainframes, and new support for VM hypervisor hosts has been the rage on 64-bit x86 architectures.
VMs have been rolling through the enterprise and Internet server market. Moving servers onto VMs makes deployment, management, and recovery significantly easier. The uptake on the workstation and embedded side has been slow because of cost and the need for a mindset change that enterprise made ages ago.
Several factors make VMs more interesting on the workstation side. The first is availability. Open-source solutions like Xen combined with Linux and free closed-source workstation versions of VMware's and Microsoft's products can be downloaded from the Internet. The latest crop of multicore 64-bit processors, low-cost memory, and high-capacity hard drives fills in the rest of the requirements. In fact, this combination is almost ideal for VMs.
The availability of prepackaged virtual disks that a VM uses to boot from has made it significantly easier for users to deploy applications. Running a Linux-based Web server with a Java-based Tomcat host application linked to a MySQL database isn't simply a matter of running a VM using the preconfigured virtual disk. The fact that it is running in VM gives it isolation and security without the hassles of a physical system. It also can be turned on and off as needed, even remotely.
This ability to fire up systems is what makes VMware's Virtual Lab Manager (see figure) and Virtual Center combination impressive. The environment is akin to an enterprise collection of VMs but targeted at developers, quality assurance (QA), and field engineers.
Prepackaged systems can be chosen from an array of target platforms, allowing new applications to be developed and tested on more than just the developer's PC. Virtual Lab Manager automates the deployment and control of the VMs, enabling large groups to share VM hosting resources.
Embedded developers are starting to use VM-based targets to address security and legacy requirements. I regularly test development tools in their own VM to eliminate interaction with prior installations, other development tools, and other applications. It does take some time to get used to VMs, so start now.