The Virtual Machine Age
So why is DevX focusing all this attention on virtualization now? Because the benefits of the technology and the growth of the market are too big to ignore. Rich Lechner, VP of Virtualization technology for IBM
, who studies IBM's own market intelligence and monitors the findings of market research firms, said, "Anywhere from 40 to 50 percent of the clients out there either have implemented or plan to implement virtualization over the next one to two years. We are seeing very broad-based adoption. Certainly much broader than, in my experience, the early days of Java and Linux."
VMware, which pioneered virtual machines on the ubiquitous x86 architecture in 1998, today boasts millions of users for its Workstation desktop virtualization product and more than 20,000 enterprise customers for its server products (GSX and ESX Server). Coincidentally, VMware's largest distributor/reseller is none other than IBM, which has been using virtualization to partition its mainframe computers for decades. IBM has developed Virtualization Engine 2.0, a suite of tools and interfacessome currently available, others soon to bethat helps its server clients manage the proliferating storage, network, and server virtualization projects. And all signs point to continued growth for virtualization.
|Dan Chu, VMware Sr. Director of Developer/ISV Products|
This growth has spawned a number of virtualization solutions from software giants such as Microsoft, to open source players with Linux legacies whose ambition is to surpass the VMware offerings, to still others who leverage VMware's large installed base as a platform on which their own products can add value. Said Dan Chu, VMware Sr. Director of Developer/ISV Products, "Two years ago we introduced a broad SDK for our platform, and that's something that more than 40 third-party vendors have [used to produce] commercially available integrations to VMware. And we see a lot more in the pipeline."
The trend has not been lost on chipmakers such as Intel and AMD, who are tweaking the underlying silicon of the x86 platform to enable VM software makers to optimize their products. Margaret Lewis, AMD's Commercial Software Strategist, explained, "The x86 instruction set by nature was not built with the idea of doing virtualization. X86 evolved back in the days when it was a desktop product, never thinking of dividing it up into many virtual machines."
Hence, Intel is rolling out chips enabled with its VT (Virtualization Technology) features, and AMD has its virtualization-geared Pacifica slated to ship during the second half of this year. According to Lewis, Pacifica is focused on helping software vendors elevate the performance and security of their VM products. Recent releases have taken advantage; for example, VMware Workstation 5.5 supports Intel VT, while Xen 3.0 supports both VT and AMD Pacifica.
What's This Going to Cost Me?
Although VMs can stretch your IT dollar by allowing you to fully utilize your existing hardware, software still costs money. More specifically, the licenses for the software you run in VMs cost money. With traditional licensing schemes, the expense of running multiple OS and application instances could rival the cost of brand new hardware. To avoid sticker shock and confusion, software vendors have begun accommodating virtualization in their licensing schemes. The industry experts DevX spoke with agree that Microsoft is on the right track with its initiative.
Said Ben Armstrong, Program Manager of Microsoft's Virtual Machine Technologies Group, "previously, we had a per-installation license model, where you'd pay for every installation of the operating systemeven if it wasn't running. So if you had a single box with 50 virtual machines, all who've had Windows Server installed in them, you'd have to pay for each one. We're now moving to a model where you pay for instantiation. So if you have those 50 virtual machines but you're only ever running eight at a time, you only have to pay for eight of them."
With the recent release of Windows Server 2003 R2 and Windows Server 2005 R2, Microsoft made a number of licensing announcements. Among them were the Enterprise Edition of Windows Server 2003 R2 allowing up to four running virtual instances on one server at no additional cost and users being able to run unlimited instances of the Longhorn version of Windows Server Datacenter (due in 2007).
Your Solution's Approach Can Make a Difference
The type of virtualization approach that a given VM solution uses can also affect its cost, as well as its performance and security. Virtualization on the x86 platform is performed using one of two general approaches: hosted or non-hosted. In the hosted model, the hardware's base operating system hosts the virtualization solution, on top of which you create guest OS instances and your VMs. Microsoft's Virtual Server and Virtual PC products currently utilize this model on the Windows operating system.
|Simon Crosby, CTO of XenSource|
The non-hosted model (also known as the bare-metal approach) utilizes a hypervisor, a virtualization layer between the hardware and guest environments that mediates access to the underlying resources. The hypervisor interfaces either directly with the hardware, as with VMware's ESX Server, or with a host operating system to leverage its device drivers, as with the Linux-based virtualization solutions Xen and OpenVZ. You create guest OS instances and virtual machines on top of the hypervisor.
According to Simon Crosby, CTO of XenSource, the recent Xen 3.0 release enables bare-metal performance because it runs on hardware and not on an emulated chipset. "The OS and the hypervisor are working in concert," he said. "The OS views Xen as real hardware."
Dan Chu explained the tradeoffs between the approaches. "On the hosted side, there's an ease of implementation because you can implement on a broad range of underlying operating systems, as well as hardware. Whereas, on the bare-metal architectures, you get an optimization with respect to scalability and to some extent also performance."
|Kir Kolyshkin, Manager of OpenVZ Project|
Manager of the open source virtual server project OpenVZ, Kir Kolyshkin, says an OpenVZ virtual private server (VPS) will run at the native speed of the hardware. However, its bare-metal deployment requires Linux administrator-level skills to configure the OS for optimal performance. "Each VPS can have its own set of configuration libraries and DLLs. Only the kernel is common to all VPS's. Everything else you can change," explained Kolyshkin.
Depending on your Linux proficiency, that can either sound like great flexibility or a very complex proposition.
The hypervisor-and-host-OS model lends itself best to hosted services on the server side, as it enables you to partition a single physical server into many virtual ones and pay the license fee for the base operating system only. Carla Safigan, product manager for Virtuozzo, a virtual server technology and commercial sponsor for the OpenVZ project, said, "For things like stress testing, when you have to have hundreds of servers testing the same operating system at the same time, that's a perfect application for Virtuozzo because you don't necessarily need 10 different operating systems on a server, you just need a really high volume of servers."
While the single-OS limitation may not work for a development and testing environment where you need to run those 10 different OS configurations, you also may need to pay for each of them.
Another consideration is the security of the virtualization approaches. Said Armstrong, "With the hosted model, all your virtual machines are dependent on the security of the hosting operating system. Whereas with the non-hosted model, you're dependent on the security of the hypervisor and that's a lower attack surface."
A developer must consider these factors when determining which virtualization product to choose, because the approach impacts cost, performance, and effectiveness.
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.