Drawbacks and Challenges
What about the drawbacks and challenges of virtual machine technology?
One challenge I have already discussed is the increased reliance on fewer physical machines: the "putting all your eggs in a few baskets" effect, which I call concentration risk. However, as I also mentioned, you can ameliorate this risk by setting up heartbeat monitoring and failover on virtual machines located on independent physical machines. Virtual machine technology actually reduces concentration risk when deployed in the right configurations. Compared to a baseline configuration of x physical machines, you can almost always achieve a more failure-resistant configuration using x or fewer physical machines hosting more than x virtual machines that are networked to watch each other and take over in the event of a partner machine's failure. The efficiency multiple could be 1.5x, 2x, 3x, 4x, or more, depending on the applications in the virtual machines and the specifications of the physical hosts.
Another drawback of virtual machine software is the licensing cost. If you run servers on VMware's GSX Server, for example, the dollar cost of licenses can be a significant portion of (or more than) the cost of the physical hardware, depending on your physical machine specifications. VMware GSX Server costs $1,400, which adds considerably to the cost of a workgroup file server or a Web server. The license cost will probably be non-negligible for any single machine, but the savings from consolidation usually will outweigh the cost of the software license. Also, for software development or configuration testing, you will probably use VMware Workstation, which has a much lower price of $189.
Editor's Note: Since the writing of this article, VMware announced it will release the next version of its GSX Server product as a freely available, hosted server virtualization product called VMware Server.
Xen charges no license fee, but it currently runs only on Linux hosts and handles only guest operating systems for which source code is available, a criterion that includes Linux and BSD but not Windows. The guest operating system limitation will change with Intel's soon to be released VT "Virtualization Technology" and AMD's soon to be released Pacifica chip technology. Both will enable a host hypervisor to execute unmodified guest operating systems, which means Xen will be able to run Windows as a guest operating system. The hypervisor is the bit of code sitting between the hardware and the guest environment that mediates access to physical hardware and controls execution of privileged instructions on the CPU. Sometimes the hypervisor interfaces directly with the bare metal (the physical hardware). Other times, it interfaces with a host operating system to gain access to the wealth of device drivers available on the host operating system. VMware ESX Server falls into the former category; VMware GSX Server, VMware Workstation, and Xen fall into the latter.
Virtual machine technology imposes a performance penalty from running an additional layer above the physical hardware but beneath the guest operating system. The performance penalty varies based on the virtualization software used and the guest software being run. Two good performance comparisons of VMware and Xen were conducted by the computer science departments at University of Cambridge
, England and Clarkson University
(PDF). Based on the Cambridge study, VMware Workstation achieves near-native performance for processor-intensive tasks, but experiences slow-downs of up to 88 percent on I/O-bound tasks. That means your I/O-bound process would be running at nearly 1/10 of its native speedsomething that may be unacceptable to you. The Cambridge group performed its study based on VMware Workstation 3.2 because licensing restrictions in newer VMware versions prohibit test comparisons. VMware likely has improved its performance, but in any case if your task is I/O-intensive, you would do well to test it in a trial copy of Workstation or GSX Server before purchasing the software.
|Virtual machine technology imposes a performance penalty from running an additional layer above the physical hardware.|
In the same study, Xen performed extremely well whether the task was CPU-bound or I/O-bound. In some cases, Xen's performance penalty is almost non-existent thanks to its paravirtualization function, which modifies the guest operating system to optimize performance (hence, the more limited selection of supported guest operating systems).
The performance penalty can mean you need to purchase additional hardware or more expensive, higher-end hardware. This is one factor you must take into account when determining whether, or to what extent, to adopt virtual machine technology. For large deployments, the increased ease of management often far outweighs the license fees and potentially more demanding hardware requirements per physical machine. Furthermore, services often can be consolidated onto fewer physical machines that serve as hosts for multiple virtual machines, meaning that overall hardware costs decline.
A fourth drawback of virtual machine technology is that it supports only the hardware that both the virtual machine hypervisor and the guest operating system support. Even if the guest operating system supports the physical hardware, it sees only the virtual hardware presented by the virtual machine. The virtual machine's hardware support actually has two aspects. The first is what the virtual machine hypervisor recognizes on the host machine. This is generally fairly broad within the common categories such as networking, hard drive storage, keyboards, mice, and video cards. The virtual machine hypervisor, if it runs on top of the host operating system, usually just takes advantage of the host operating system's support of the physical device in question. VMware GSX Server, VMware Workstation, and Xen are like this. They take advantage of the host's support for physical devices so that they do not have to provide code specifically for the plethora of hardware devices on the market today. VMware ESX Server, in contrast, is designed to run on bare hardware with no underlying host operating system for support. As a result, performance can be better than that provided by GSX Server or Workstation, but the range of hardware that the virtual machine hypervisor will run on is much more limited because the ESX Server code base must contain code to handle each device that it supports.
The second aspect of virtual machine hardware support is the hardware presented to the guest operating system. No matter the hardware in the host, the hardware presented to the guest environment is usually the same (with the exception of the CPU, which shows through). For example, VMware GSX Server presents an AMD PCnet32 Fast Ethernet card or an optimized VMware-proprietary network card, depending on which you choose. The network card in the host machine does not matter. The network card presented to the guest environment will always be one of the two network cards that VMware supports. VMware GSX Server performs the translation between the guest environment's network card and the host environment's network card. This is great for standardization, but it also means that host hardware that VMware does not understand will not be present in the guest environment.
A fifth challenge of virtual machine technology is the complication of software licensing inside guest operating systems. If you load and run Windows Server 2003 in eight virtual machines on four physical machines, how many licenses would you be obligated to pay for? What about database software like Oracle or SQL Server, which are usually licensed based on the number of processors? A virtual machine on a dual processor host machine may have only one processor. If Oracle runs in the virtual machine, should you be charged for one processor or two?
The challenge of deploying virtual machine technology is figuring out whether the benefits outweigh the costs in your situation. Virtual machines improve utilization, facilitate management, reduce downtime, and enhance the mobility of applications in many scenarios. So if the management of IT hardware and software resources is a current or anticipated headache, you should take a look at VMware, Xen, and Microsoft Virtual Server and carefully consider the pros and cons for your particular situation.