Virtualization, a word that started out as one of those industry buzz terms many years ago has managed to find its place in every single organisation I’ve had the pleasure of working for. It’s really quite a nifty technology, being able to run multiple virtual servers on a single physical box which allows you to better utilize your computing resources (and therefore dollars to). I was lucky enough to catch the virtualization bandwagon early on and managed to establish myself as a specialist in the field before most people had a clue how to utilize it properly. Primarily most of my experience was with VMware, since they were the only company doing it right for a very long time. Since then I’ve had a chance to sit down with Microsoft’s answer to ESX in the form of Hyper-V and the differences are quite significant. So in this battle royal-esque show down I’ll pit them against each other and we shall see who comes out the victor.
A great judge of how well a company can do something is how long they’ve been in business. VMware started out in 1998 and delivered their first virtualization product, VMware workstation, a year later in 1999. Microsoft delivered the first version of Hyper-V back in 2008, but we could safely say they were working on it since at least 2007. That gives them 11 and 2 years respectively in the virtualization game, so the advantage of time in the market is going to be handed to VMware.
VMware: 1, Microsoft: 0
One of the biggest considerations that most organisations have when looking to implement virtualization is the cost, as they’re usually trying to save money by implementing it. For the most part they will as long as the design is done properly and they’re not virtualizing for virtualization’s sake. However this is one of the glaring points that plagues VMware, it’s almost ludicrous prices. A single core standard edition license will run you about US$795 and the creme de’la creme costs a whopping US$3,995. That’s not to mention the cost of the central management server either, which will cost you another $4,995 plus the $1,095 required for one year of support. Hyper-V on the other hand is an additional US$28 on top of your existing license fee for Windows Server 2008, which you’re probably going to be buying anyway. The central management server costs about US$1150 which is a darn sight cheaper than VMware. The Hyper-V licensing model also has the advantage of usually being wrapped up with your licensing agreement with Microsoft, flying under the budget radar.
VMware: 1, Microsoft: 1
Now I’m going to get into the nitty gritty of these virtualization solutions: the architecture. Thanks to their marketing departments both of them give you a high level view of their respective virtualization systems.
(Click to enlarge)
Under the hood they’re very similar in the way they’ve designed their solutions and really there’s not much they could have done differently. The biggest difference that’s not clearly highlighted in these marketing speals is that the underlying technology for VMware is basically a modified Red Hat Enterprise Linux kernel that runs directly on the hardware. Hyper-V on the other hand requires that Windows Server 2008 be installed first and then the virtualization run on top of that. While the differences between these two are small, architecturally speaking, the main difference comes from the fact that for Hyper-V you’re running a full blown copy of the operating system in order to get the virtualization benefits. VMware avoids this by using a very slimmed down version of the Linux kernel (the footprint is about 32MB) meaning that more resources are available for the guests. Microsoft has tried to counter this somewhat by introducing a version of Windows Server 2008 called Server Core which removes quite a bit of the cruft, but the large memory footprint and installbase remains.
VMware: 2, Microsoft: 1
The next set of comparisons get a bit fuzzy, since they rely heavily on which version of ESX you end up buying from VMware. For instance if you buy the standard or advanced versions of ESX you’re basically buying Hyper-V at an inflated price, since the feature sets are basically the same. Up until the recent release of R2 for Hyper-V the advanced licensing for ESX would still bring out on top feature wise, still at a premium however. Since VMware has been in the virtualization game for so long they’re no longer focused on what most people would consider core functionality so the more advanced licenses are where they really begin to shine. Things like dynamic resource management and live storage migrations are just simply not available for Hyper-V and have been deal breakers for me in a couple situations. Additionally ESX is very agnostic when it comes to what you install on it, supporting basically every operating system and their respective versions out there. On a pure feature level VMware wins out, but not without incurring some hefty costs.
VMware: 3, Microsoft: 1
One consideration that most people leave out is how easily a virtualization solution will integrate into their environment. VMware is a completely different way of doing things and whilst vSphere is leaps and bounds easier to use than its predecessors it’s still a completely different world to your usual world of stumbling through menu options to fix a problem. Your decent ESX administrator will have to know his way around a Linux command line in order to get some of the more advanced things done (just try to install EMC SAN agents without it, I DARE YOU! :P) and there’s a fair share of problems that will require some obscure commands that can do a heck of a lot of damage if you don’t know what you’re doing. Granted there is quite a good community for all of VMware’s products so you’re not usually left in the dark with no one to hold your hand, but its still no substitute for an ESX administrator who’s dealt with his share of broken ESX environments before. Hyper-V on the other hand has that distinct Microsoft flavour to it and any Windows administrator will be able to administer and troubleshoot an installation without too much hassle. This also has the benefit of not attracting a premium when it comes to hiring in new talent, as us ESX know-it-alls love to charge a bit extra.
VMware: 3, Microsoft: 2
Even though the final score here would lead you to believe that VMware has come out victorious I’m still hesitant to give it the crown of virtualization king (and yes I know I’ve left out Xen but that’s with good reason, I’ve never used the damn thing). The cost of VMware is so massive that I find it hard to convince any shop who’s looking to virtualize to go with it. Sure the name carries a heck of a lot of weight and really if you’re paying the prices on the website you need to talk to a different VMware rep but the point remains that even a single site installation with the basic package will easily run up US$10,000 on top of your current Windows licensing costs. For anyone with a lot of disperate sites that require a virtualization solution you’re much better off with Hyper-V, although ESX really shines in large (100+ servers) data centers. I still recommend VMware to most people since they really are the best, despite their high costs. It would seem as always that you need to carefully analyze your situation and build a solution based on your requirements and not the marketing hyperbole.
Although if you use VMware you’re more likely to get a charming person like myself knocking at your door, and who doesn’t want that? 😉