This past Monday I had the opportunity to present what I call a 'Let's Get Excited' presentation to an architect audience at Microsoft Canada. I was asked to showcase several new features of Windows Server 2008, due to launch on February 27th.
While preparing for the presentation I thought back to the first time I presented virtualization, when Microsoft Virtual Server 2005 R2 was released. I was at the time amazed at how much more powerful the product was than Virtual PC, which I had been playing with for a while. So when I started playing around with Hyper-V (alternately known as Hyper-Visor, Windows Server Virtualization, and a number of other names) I was amazed by the improved functionality.
If you are a critic of Microsoft – or even if you are not – you are probably quick to point out then features that Microsoft initially promised to be included, such as live migration of virtual servers between parent machines, the ability to add (virtual) hardware components on the fly, and a number of other features that have been removed from the product (for now). You might complain about Microsoft's seemingly fragmented virtualization picture noting that its much vaunted System Center Virtual Machine Manager (SCVMM) which offers spectacular functionality such as the automated migration of a physical network environment into virtual, intelligent placement of virtual machines on appropriate hosts, and the ability to automatically provision new virtual machines in a few minutes and with a number of keystrokes from a library of templates for systems such as file servers, domain controllers, mail servers, and myriad other possibilities. You will certainly mention, as a critic of the world's premiere software goliath, that the Hyper-V feature that was supposed to release with Windows Server 2008, has been delayed and is only now issued as a semi-public beta program.
Of course saying all of that would be correct, but for my money Hyper-V offers a number of features that make it worth the wait. I would like to cover a number of these, leaving for the moment that Hyper-V will be neither an add-on nor an additional cost, but will upon release (assumedly through a Microsoft Update patch) be distributed to all Windows Server 2008 installations as a new role, easily installed in minutes.
If you were to examine servers in any average data centre you would note that the resource usage for most of them is quite low. If a server's CPU runs at, on average, twenty percent usage, and the company paid (to use a simple number but not based on actual pricing) $1000, doesn't it stand to reason that these companies could have just as easily purchased a CPU with one fifth the capacity for one fifth the price? This is of course not an option, and virtualization allows us to fill that unused CPU capacity. On Virtual Server 2005 R2 there were limitations to the functionality of the guest OS, and taxing on the host OS. With Hyper-V both of these issues are addressed; it eliminates the host/guest operating system model that we have gotten used to and replaces it with a parent/child model in which the parent (or primary) Windows Server instance hosts the Hyper-V role, but the virtual (child) OSes address the physical resources of the hardware, rather than detracting from the parent, as was previously the case. This allows several servers to operate in tandem on the same box with the resources you allocate to it, without draining each other. To test this I built a Server 2008 lab environment within a Dell Lattitude 830 laptop with a 2.4GHz CPU and 4GB of RAM, The parent OS (Windows Server 2008 Enterprise Edition, RTM) hosted the Hyper-V role; Three virtual machines hosted one NAP (Network Access Protection) server on Server 2008, a domain controller and System Center Configuration Manager Site Server, both hosted on Windows Server 2003 R2 (Enterprise Edition) with Service Pack 2 installed. I did not see any performance degradation on any of them.
(It should be noted that although Server 2008 is available in both 32- and 64-bit editions, only the 64-bit edition will support Hyper-V.)
A huge advantage to Hyper-V over its predecessor is the ability to support 64-bit child servers. This is a huge advantage to companies who would otherwise virtualize servers such as mail servers, but couldn't due to Exchange 2007 only compatible with 64-bit servers. I am looking forward to playing with that particular configuration in coming weeks.
If you previously built your virtual environment around the Virtual Server 2005 R2 platform you are bound to be happy that your virtual machines are going to be fully compatible with the new Hyper-V platform. In the current beta build of the product there is a bug that prevents you from importing VMs, but there is a simple work-around… simply create a new virtual machine and then rather than create a new virtual hard drive select your existing .vhd file. Make sure you check your settings, but having played with it for weeks I can attest that the method is flawless.
That being said, there is some minor preparation required before you migrate; your old Virtual Machine Additions are not going to be compatible with the new platform, and must be uninstalled from either Virtual PC or Virtual Server before bringing the VMs into Hyper-V. Though offering similar functionality, Hyper-V now offers Integration Components in place of the old VMAs.
Before you kick off in Hyper-V you should be aware that all of the old key-combinations that we got used to in WVS and VPC have been replaced; if you are familiar with Remote Desktop Client then the transition will not be too tough, which brings up another favourite feature of mine: Rather than requiring a special client or connecting through Internet Explorer (an option that is certainly still available) you can connect to your Hyper-V machines using Remote Desktop Client, and since they are sitting on the hardware independently you can access them from remote machines as you would any remote server. This will prove to be a huge benefit to systems administrators who manage geographically diverse servers, whether they be across a campus or around the world.
It just happens that earlier this week the mail servers in my fiance's organization were down for an entire day this week due to faulty hardware. The time it took for the server provider to get and install the replacement part meant that nobody in the entire organization received or sent e-mail for an entire business day. Without addressing the glaring lack of redundancy in their infrastructure I can imagine that their entire organization – especially the CIO – must have been visibly aging while the server was brought back online (eleven hours later). I did a quick test and discovered that I could easily automate Hyper-V to take a snapshot of my servers every fifteen minutes; once done I was able to turn off the Server 2008 machine, attach the Network Attached Storage device storing my VMs to a different Server 2008 machine running Hyper-V, and restore the VM and then that snapshot to the previous snapshot within minutes.
Microsoft has nothing to be ashamed of in its current iteration of Hyper-V, beta release and all. Although there are certainly features that have been removed (which hopefully will be included in future releases) the product as it stands is certainly a value-add to Windows Server 2008. Its functionality is not what was hoped for but certainly offers improvements over Virtual Server 2005 R2. I look forward to SCVMM integration and management, and the live migration will be a huge feature for the next release. However for architects and systems engineers trying to decide if now is the time to virtualize or if they should wait I would certainly recommend keeping your eyes open for the RTM Hyper-V and then do it. In the meantime have your systems administrators download the beta release to familiarize themselves with it so that when it is released there need be no further delays… as our critics will bring up we have had enough of those already.