Under the Hood:
The soul of a virtual machine
Although virtualization tools have similar objectives and use a virtualization software layer, called a resource manager or hypervisor, to manage virtual machines, the basic architectures vary.
In software-based VMs, the resource manager sits on top of a host operating system and juggles the requests of multiple guest operating systems loaded on top of it (see diagram). Microsoft Virtual Server 2005 and VMware GSX Server follow this model.
Other products, such as Xen and VMware's ESX Server, run in a hypervisor that sits beneath the guest operating systems and the hardware. Because the software layer sits on the "bare metal", these are sometimes referred to as hardware VMs. Direct contact with the system hardware allows the VMs to work more efficiently.
Other products, such as Solaris Containers in Sun Microsystems' Solaris 10 and SWsoft's Virtuozzo, also use a software-based model but eliminate guest operating systems in favour of "virtualized operating systems", or application containers. Each application appears to have the operating system to itself, but in fact, core elements, such as the kernel and system libraries, are shared. This approach is more efficient than running a full-blown guest operating system in each VM and saves on software costs because one operating system licence can be used for all VMs on a physical server. But there's a catch: virtual operating systems can support only applications that will run on the host operating system.
IDC analyst Dan Kusnetzky says each approach fits a different need. "Those who need power will want approaches that are very lightweight. Others are more concerned about optimizing resources," he says. "A single approach will not fit the need everywhere." - Robert Mitchell
Consolidation: Users report consolidation efficiencies ranging from a few VMs per processor to as many as 18. Qualcomm consolidated 384 server applications onto 35 physical servers.
Server Deployment: Application servers deployed as VMs can be set up quickly. "It used to take eight hours to put a new application on the data centre floor. With virtual servers, it takes anywhere from 15 to 20 minutes," says Bob Armstrong of Delaware North.
Business Continuity: VMs are hardware-independent. Disk images of a VM can be quickly copied to another server in the event of a hardware failure or for routine maintenance -- without disrupting running processes.
Software support:An increasing number of software vendors now support their products when running on VMs.
Single point of failure: A hardware failure on a single physical server can take down multiple virtual servers. Delaware North raised its hardware-support contract from a four-hour response to a one-hour response.
Licensing: Software vendors may charge per CPU -- and per VM. In some systems, users must license an operating system for the host and for each VM.
Scaling up: Current products don't work as well for processor-intensive applications or those requiring heavy I/O.
Overhead: Virtualization adds a software layer that can soak up processing cycles. Users and vendors say overhead can range from 2 or 3 percent to as high as 20 percent, depending on the product and application.