Hyper-V: why you do not want it
Microsoft has released a ‘final’ version of Hyper-V, it’s virtualisation product, it seems however, only a shadow of what Xen and VmWare can offer customers when it comes to Enterprise level virtualisation.
This article will explain Hyper-V, and why it’s a very poor choice for virtualisation indeed.
Hyper-V is Microsoft’s implementation of a so called ‘hypervisor’. A hypervisor is a technology that allows for easy virtualisation, it allows for virtual computers do directly address the hardware on the host computer. It’s a step up from paravirtualisation, which emulates certain hardware types, at the downfall that the hypervisor needs to do a lot of translation and conversion work in order to get things to the real hardware.
Virtualisation isn’t new, it’s been around since 1969. But mainstream (meaning affordable) virtualisation is a recent development, since we now have processors that deliver so much performance, that most of our servers are idle most of the time. By utilizing virtualisation, we can use the full power of one server better and more efficient, and therefor be more cost effective. Virtualisation products are offered by Vmware (the first to do so, and also the global leader in this segment) and the Citrix owned Xen product line, which is largely an open source effort.
Microsoft is a fairly new player in the virtualisation market. Their products so far have been limited in their possibilities, and the feature set is nowhere near what Vmware and Xen can offer. The big upper for Microsoft is that they have a grip on a vast amount of the OS market with Windows. The choice for windows often is not technical in nature, but political. Since almost everyone uses windows on their desktop, it seems like the logical choice to use it on the server as well. This however, is a common misconception that has lead to many problems with companies worldwide, and the recent gains of many Unix-like (opensource) Operating Systems is a vital clue to how the market is getting smarter in it’s choices.
Many companies might think: “this virtualisation product is included in Windows Server 2008, and therefore a cheap alternative for my virtualisation needs”. While this seems logical, we must not forget that this is a highly specialized field, and no matter cheap, or included, Microsoft’s product simply does not cut it when it comes to overal features and support. While Microsoft naturaly supports all of it’s Windows products, it only supports Linux through Suse Linux, by Novell, since it has an agreement with Novell to do so. Suse however is not by far the most comonly used Linux, and enormous amounts of companies virtualise Red Hat, Debian, Ubuntu and other Unix Operating Systems, the most foremost being FreeBSD and Solaris 10.
Another big problem is overal features, both vmware and Xen support a technique that allows you to move a running virtual machine from one physical server to another, without any downtime to the virtualised machine. Hyper-V does not allow for that, you need to shut down the virtualised machine first, before moving it. This causes more downtime, and more frustration since this moves important maintenance to the night time, when it could have been avoided. Personally, I can upgrade my entire virtualisation environment during office hours, without anybody noticing a thing. This prevents cutting in my sleeping time, and it’s also cheaper for my boss since he doesn’t have to pay overtime.
Then there is the problem of resources. One of the things of virtualisation is that the goal is to utilize available resources to the maximum possible. While virtualisation enviroments are often more expensive to purchase in terms of hardware requirements, in the long run they are much more cost effective since you can easily phase out 8 physical servers. This is not only a reduction in cost of hardware purchases, but also costs of space, power, cooling. Efficiency is the keyword here. Microsoft has it’s Hyper-V hypervisor running in combination with Windows. Where the windows 2008 server is actually virtualised in the same way as with Vmware ESX. However, the ESX management console requirements are far less then those of a full Windows 2008 environment. Just running virtualisation from Microsoft will cost you about 10% virtualisation capacity, compared to vmare ESX and Xen at about 1%.
Let’s face it, Microsoft does not have a good reputation when it comes to security. As a matter of fact, any security solution based on Windows is an act of pure lunacy if you ask my proffesional opinion. Now, in all honesty to Microsoft: they can’t do much about that. Changing the Windows security model to something that will absolutely work will most likely cause so many problems, that everyone will scream. Their shareholders will never go for that. The recent problems surrounding Windows Vista’s security model is the most compelling evidence. In the end: nothing has changed, since all users have disabled ‘those irritating nag screens asking for permission every time you do anything at all’. Also, their backwards compatibility allows for serious security considerations, not only by allowing ‘ancient’ windows code to exist (some security issues discovered in the last 2 years have been arround since windows 3.11), but also allowing applications to run that where coded in a time where we weren’t all that focused on security.
Microsoft has about the level of inovation that one would expect from an ant. (usefull little critters they are, they do everything the way they have always done, change does not happen often there). In part this is because inovation is difficult, risky and hard to do at best. Microsoft has billions of profit to protect, and they do so by not inovating much. Most of the time they wait for someone to come with a good product, and buy that company or product. Virtualisation should be inovative, it should be ‘special’, for the first time we are no longer trusting our important mision critical data to physical machines, but to virtualised ‘invisible’ machines. This field wil grow and expand even more with the arrival of multi-core systems. This requires huge ammounts of research and development and a lot of experimenting to ‘find the right way’. Intel and AMD do that part on the hardware side, AMD coming up on top purely because of Pacifica and Hypertransport. Xen and Vmware do that in their software lines, and on a whole, they are doing great. Microsoft will struggle to keep up with them, purely based on the mere fact that the corporate structure there is run by politcians, accountants, marketing and lawyers, not by the people invisioning and building the products.
We’ve seen the problems at Microsoft for many years, sharepoint, though conceptualy sound, is so complicated and tricky that even Microsoft’s own staff can’t figure it out (real world example). ISA is so full of problems and so complicated, that nobody knows exactly how to get the darn thing under control.
If you want virtualisation, use Xen or Vmware. I’m not partial to either one in general, but professionally I’ve been using Vmware Virtual Infrastructure (Build around Vmware ESX 3.x) for years now, and I’m very happy with it. We’ve reached the point where we need to seriously upgrade our hardware architecture to keep up with demand. We virtualise everything, from development servers, to staging/testing servers, to full production enviroments. It works, all the time, everything, 24×7. The only downside I’ve been able to find with Vmware is that their management client does not work on Mac, but from what I’ve heard, they are working to fix that, and release a Mac and Linux client soon. That is something Microsoft will probably not do, ever. (it’s enough of a miracle they released silverlight for Mac OS X).
|Feature||Vmware ESX||Xen Source||Microsoft Hyper-V|
|Moving Running Virtual Machine to another host||Yes||Yes||No|
|Adding resources to running Virtual Machine||Yes||Yes||No|
|Supports Most Operating Systems||Yes||Yes||No|
|Runs old Operating Systems ( NT 4, Windows 2000)||Yes||No||No *|
*) Windows 2000 SP4 is supported, however, with only 1 virtual CPU. Pretty darn ‘weak’ I say.