In the field of server virtualisation, the current focus of attention is the impending release of Hyper-V, Microsoft's long awaited hypervisor technology (due to ship six months after the launch of Windows Server 2008). But what exactly is a hypervisor? More importantly, why is Microsoft's implementation causing such a stir, and how will Hyper-V fit into the increasingly competitive server virtualisation market?
Like original offerings from market pioneer VMware and others, Microsoft's current server virtualisation product, Virtual Server 2005, is a hosted solution, designed to run as an application on top of a standard operating system. In Microsoft's case that means Windows Server 2003, the Virtual Server software sharing out the server's processors, memory, disk, network and other I/O interfaces between multiple virtual machines (VMs) via the host OS.
A hypervisor changes all that, removing the need for a host operating system. At least, there's no host OS in a format most of us would recognise; however, to save having to reinvent the wheel, most implementations borrow quite a bit from either Linux, Unix or Windows. That said, a hypervisor can still be installed directly onto a bare server, enabling it to communicate directly with the supporting hardware rather than via an intervening OS.
This approach is designed to deliver a number of potential benefits, the first of which is enhanced performance. This is made possible because an ordinary operating system has to do a lot of other work besides looking after guest VMs. This includes tasks such as file and printer sharing, and hosting services, applications and so on. A hypervisor, on the other hand, can be optimised purely for the task of running virtual machines. The end result is, typically, the ability to host more virtual machines on the same hardware and/or improve their level of performance.
Second, although a hypervisor does little to enhance security at the individual virtual machine levels, there should be far fewer vulnerabilities in the underlying hypervisor code compared to a standard host OS, making for a much more secure solution overall.
And third, cost reduction is yet another possible benefit, as there's no need to licence a host OS before virtual machines can be deployed. However, this really only applies to Windows implementations and, even then, it isn't a major issue.
Of course there are also disadvantages with hypervisors. For example, they are much more hardware-specific than hosted virtualisation products. Even so, hypervisors are generally seen as a good thing and a number of established products are already available — most notably, VMware's market leading ESX Server plus various implementations of the open-source Xen hypervisor from the likes of Red Hat, Novell and, since its acquisition of XenSource, Citrix.
How Hyper-V stacks up
Microsoft's Hyper-V differs significantly from most existing hypervisor products. To begin with, the latter all tend to be based on Linux/Unix code, whereas Microsoft's hypervisor (originally codenamed Viridian before being rechristened) is tightly bound up with its new server operating system, Windows Server 2008. But there are other differences too.
For example, although Hyper-V is installed directly onto server hardware, enabling it to host multiple virtual machines in logically separate 'partitions', the primary or 'parent' partition has to run Windows Server 2008. This may sound contrary to the hypervisor ethos, but isn't really. Rather, Hyper-V takes advantage of drivers and services within the Windows software to both better communicate with the supporting hardware and to provide for management. Microsoft describes this as a 'micro-kernelised' architecture, enabling it to minimise the footprint of the core Hyper-V code while still delivering a rich set of features.
With Microsoft's Hyper-V, Windows Server 2008 (or a subset of it) must be running in the parent partition.
Despite its dependence on Windows, it's also important to understand that you don't need the full server OS for Hyper-V to work. The full product can be run in the parent partition if you want, and Windows Server 2008 purchased with the virtualisation component to enable this to happen. However, the cut-down command-line Server Core implementation, which lacks the Windows GUI, can be employed instead. Microsoft has also announced a custom Hyper-V Server product complete with enough Windows Server code to support the hypervisor but nothing else. This is expected by the end of the year and will sell for just $28 per host — effectively giving it away.
Another key differentiator with Hyper-V is the ability to augment the standard I/O emulators used by most other virtualisation products with technology that's better able to use the underlying hypervisor. This involves the use of so called Virtualization Service Providers (VSPs), which provide a shared interface to drivers in the parent partition and Virtualisation Service Clients (VSCs) in child (guest) partitions. The two then communicate via a Virtual Memory bus (VMBUS), giving guests direct access to the host drivers with no need for the extra translation processing required of I/O emulators.
VSPs (Virtual Service Providers) and VSCs (Virtual Service Clients) provide access to drivers in parent and child partitions respectively. 'Enlightened' guest OSs come with the required VSC code, while non-enlightened platforms must make do with emulation.
Of course, for this to be possible, guest virtual machines need to be equipped with the necessary VSC code — so-called 'enlightened' operating systems. In fact, this is not absolutely essential because non-enlightened guests can still use emulation. However, enlightened platforms are better equipped to use the host resources, with knock-on effects in terms of performance and flexibility.
Windows Server 2008, naturally, is an enlightened OS, as is Windows Vista. Microsoft can also provide enlightened extensions for Windows XP and Windows Server 2003, but is mostly leaving it up to third parties to cater for other platforms. XenSource (now Citrix) is the most advanced, having collaborated with Microsoft on the Hyper-V development. However, others aren't far behind: there's wide support for the beta implementation already, with more expected from companies like Novell and Red Hat by the time the Microsoft platform finally ships.