Time to kick another wasp nest! I got so many nice comments after the last time
In a previous post, I documented the comparison of Windows Server 2012 Hyper-V with vSphere 5.0 as it was back at TechEd 2012 in June. Of course, things have changed since then. Hyper-V has scaled out again, and VMware has announced vSphere 5.1.
I’m not going to foolishly declare vSphere are only being suitable for SMEs. Given the facts, you have to question that sort of opinion.
Instead, let’s just compare numbers and features. Actually, Microsoft has already done quite a bit of that for us with a new comparison document that was released overnight. Keep in mind that the Hyper-V features and scalability are identical across all of the 2012 editions:
- The free Hyper-V Server 2012
- Windows Server 2012 Standard edition Hyper-V, with it’s 2 free VOSEs on the licensed hosts (which can be stacked on that host via over-licensing)
- Windows Server 2012 Datacenter edition Hyper-V, with it’s unlimited free VOSEs on the licensed host
Microsoft made a huge investment in WS2012 Hyper-V to achieve these scale up/out numbers; it wasn’t just a matter of editing some spreadsheet. For example, you can’t just let a VM have lots of vCPUs; you need to make the VM’s guest OS aware of the NUMA of the underlying hardware, which is what Microsoft has done.
vSphere 5.1 Enterprise supports up to 32 vCPUs in a VM.
Hyper-V scales out to over twice the cluster size/capacity of vSphere. A host can have twice the number of VMs and physical RAM. That’s makes Hyper-V much more scalable for public/hosting and private clouds. And remember that ESXi free does not include Failover Clustering; you must have vSphere to have failover (application up time).
I haven’t seen best practices, but I’d probably want the equivalent of 4 failover hosts in a 64 node cluster. I’d really have all 8,000 VMs balanced across the 64 nodes, but there would be the equivalent of 60 nodes active. That would mean there would be 133-134 VMs on each host in the cluster. That’s quite dense.
Expect some FUD that goes like “having 133 VMs on a host is too risky”. In fact, I’m already seeing that. OK, I dare VMware to reduce their max specs down to a max of 20 VMs per host. The fact is that you save money (hardware, licensing, power, space) by scaling up first, and then out.
You minimize risk by using guest clusters. Speaking of which, WS2012 Hyper-V supports guest clusters with up to 64 nodes with iSCSI, SMB 3.0, and Fibre Channel storage. vSphere maxes out at 2 nodes in a quest cluster that uses Fibre Channel storage.
You can choose which solution scales out to be the best enterprise or cloud solution.
A massive piece of the investment for Microsoft was storage, trying to scale out, offer new solutions, and to alleviate problems that exist in all sizes of business.
All versions of Hyper-V support guest MPIO by using the SAN manufacturer’s own DSM/MPIO solution, just as they would with a physical server, but by using NPIV. vSphere requires VAMP, a feature only in Enterprise and Enterprise Plus.
In a cloud, you need scalable (for big data) and flexible storage solution. Using passthrough or RDM disks is an oxymoron in the cloud because it completely removes the element of self-service. Microsoft’s VHDX scales out to 64 TB whereas the VMware VMDK is limited to 2 TB. The Hyper-V VHDX is more suited to bigger applications.
VHDX is also the only 4K aligned virtual hard disk. That has a big impact on storage performance, and therefore the performance of guest services/applications.
And don’t forget that hackers now have a way to use the architecture of VMDK to break out from the guest OS, something that is a genuine threat in hosting or cloud computing (FACT).
Even though Hyper-V has the edge on physical LUNs, I’m going to ignore it because I hate passthrough/RDM disks.
ODX greatly reduces the time required for file operations on compatible SANs. It is supported by all versions of Hyper-V, but only in the Enterprise/Plus editions of vSphere 5.1.
Enhanced Resource Management
There is some text in the MSFT document but it there’s so little difference here that it’s negligible. The memory optimization approach is one of:
- Do you prefer memory over-commitment where you sacrifice performance of VMs by blindly paging at the host level when there is contention and the host must provide the promised memory to VMs (vSphere)
- Do you allow VMs to scale up/down their memory based on demand but only offer what the host/cluster has to provide, thus not blindly paging (Hyper-V)
In a cluster, both systems will Live Migrate/vMotion VMs to more suitable hosts so it’s up to you if you want to split hairs on this subject.
The only other difference is QoS for networking. It’s in all features of WS2012 Hyper-V and only in the Enterprise Plus version of vSphere 5.1. That impacts the ability to do converged fabrics with SLA when you don’t have DCB enabled networking.
This is the virtual device that maps VM virtual network cards to the physical/virtual network.
Hyper-V has a clear advantage. Microsoft probably had the advantage here because they did come at this later in the game. Looking at how they designed the virtual network (previous to the virtual switch) in Hyper-V, you can see that there was a long term vision. The new virtual switch is a layer 2, programmatically managed device with lots more functionality than was in the older virtual network.
One of the key features is extensibility. Rather than replacing the virtual switch, we can stack third party extensions on the switch. VMware has 2 partners 3 partners, including the heralded Cisco solution, that replace the VMware virtual switch. Cisco has 2 solutions for WS2012 Hyper-V. We already know of solutions from 5Nine, NEC, and InMon, and I’ve heard whispers of more (no; I won’t share).
Note: I was informed soon after posting that VMware “recently added a 3rd partner for their ‘disposable switch’”. Heh … a dinosaur like IBM (who still thinks Lotus Notes is king of the email world) with dreadful support as a partner. Make of that what you want
Through the chart, you can see that Hyper-V has more functionality, and it is built-in, ready to use, with no additional licensing. vCNS is an additional purchase in the vSphere Enterprise Plus (already the most expensive virtualisation around) world.
Network Performance Enhancements
More work went into this by Microsoft, to improve existing features and to also make the most of new available hardware.
VMware does offer DVMQ functionality (the ability to process VM networking across multiple physical processor cores, scaling up and down to meet demand), but it is only on “some” 10 GbE NICs. Microsoft supports DVMQ on any NIC with DVMQ functionality in the hardware/driver, including 1 GbE.
IPsec if a CPU hungry network security feature that you can enable in your VM guest OSs. Anyone who wants network security for their applications will want to turn it on. Only WS2012 Hyper-V supports offloading IPsec to dedicated functionality on the NIC, thus saving CPU cycles for the applications that are running in the guests.
SR-IOV bypasses Management OS (host) networking for virtual machine traffic handling, thus reducing CPU overhead and reducing latency. vSphere does have SR-IOV support, but only in the distributed virtual switch which is only in vSphere 5.1 Enterprise Plus. However, you might give networking performance to a vSphere VM using SR-IOV, but you sacrifice vMotion. Hyper-V does not include features that prevent Live Migration. SR-IOV can be turned on for a VM, and it can be Live Migrated thanks to a clever zero-downtime switching process that does not assume that the destination host supports SR-IOV.
My cousin works in the IT security world, often doing some very weird things. When I first got into virtualisation, he had an interesting observation: Virtualisation assumes you have amazing physical security and you can trust your operators. VHD(X) and VMDK are portable, therefore being easy to steal or copy. That means that data in the computer room is easier to steal than ever.
Windows Server 2008/R2 Hyper-V supported BitLocker (AES disk encryption) on non-clustered hosts. That means the data is only visible to anyone who can log into the hosts. You can steal those disks all you want; if I have a backup then I can recover and you’ll have no access to my encrypted VHD(X) files and the data contained within.
WS2012 Hyper-V supports encrypting clustered disks too. That means everything in a CSV can be safely encrypted when I have a cluster in a location that I can’t entirely trust, or if I just want to be sure.
Enterprises value data security, right?
WS2012 Hyper-V has the ability to move VMs anywhere between WS2012 Hyper-V hosts/clusters in the same domain with:
- Live Migration – aka vMotion
- Live Storage Migration – aka Storage vMotion
- Shared-Nothing Live Migration
vSphere 5.1 has done some catch-up to add Shared-Nothing Live Migration.
Hyper-V offers more flexibility, the number 2 reason (cost savings is number 1) for companies to adopt virtualisation, and a key requirement for a cloud.
Eric Gray, who poses as an independent blogger on his vCritical blog, but is actually a marketing employee of VMware working for their compete group, has tried in the past to belittle the simultaneous Live Migration features of WS2012 Hyper-V. I had a read, and some of the commentators on the post called him out nicely. I especially loved the one that said I was getting under the skin of VMware
Eric, let’s teach you a little about enterprise virtualisation and cloud computing. Big hosts have lots of memory and lots of VMs. When an admin wants to do some host maintenance, they don’t want to wait a weekend while 2-3 TB of virtual machine RAM (the max physical RAM in a vSphere host is 2 TB) is synchronized to other hosts by vMotion. Maybe we can limit it to 8 vMotions on 10 GbE. But enterprise datacenters might want to use bigger networking. I’ve happily hit a sweet spot of 20 VMs in my current lab setup. I can see how it might be much bigger with more network capacity … in the sorts of large enterprise data centres that would embrace Infiniband. Eric, you might be all about getting your customers to spend or waste more money, but Hyper-V’s ability to to vacate a host more quickly means that admins don’t have to wait around for a weekend when they need to change out some hardware and the company has less risk and less waste.
Fact: Hyper-V supports more simultaneous Live Migrations and offers more flexibility than vSphere 5.1.
Software Defined Networking
A multi-tenant public cloud (hosting) must support the migration of VMs and software defined networking (SDN). This is a built-in feature in WS2012 Hyper-V. VMware are playing catching by recently acquiring yet another point solution to add to their 1990’s style framework. I don’t know if they’ve bundled this into anything yet, or how “integrated” it is beyond a rename.
Bigger clusters = fewer units of administration = easier management = less overhead and cost.
The table says it all.
VMware FT (Fault Tolerance)
This is the old reliable that the Clint Eastwood’s of virtualisation rant about to an empty conference room chair when trying to deny Hyper-V and every other fact has them befuddled. FT is nothing but a chocolate kettle; it’s nice to look at but totally useless:
- 4 FT VMs per host with no memory overcommit: expensive because of low host density
- 1 vCPU per FT VM: Surely VMs that require FT would require more than one logical processor (physical thread of execution)?
- EPT/RVI (SLAT) disabled: No offloaded memory management. This boosts VM performance by around 20% so I guess this FT VM doesn’t require performance.
- Hot-plug disabled: no hot adding devices such as disks
- No snapshots: not such a big deal for a production VM in my opinion
- No VCB (VSS) backups: This is a big deal, because now you have to do a traditional “iron” backup of the VM, requiring custom backup policy, discarding the benefits of storage level backup for VMs
Hyper-V has Hyper-V Replica for free. VMware now include some sort of replication that I know zip about. SRM does the vSphere orchestration. As for orchestration of Hyper-V Replica, I can easily do that in just a few lines of PowerShell code for Hyper-V Replica. I know a certain book that will teach you all about that. Otherwise, System Center 2012 SP1 will do what you need if you require a GUI.
Beware the FUD on this one. The vFanboys are all about the orchestration right now and they are quite simply wrong because I can orchestrate Hyper-V Replica right now. In fact, I can do some really nice things with it, which I’ll be happy to share for the cost of a book in the new year
No competition here. Hyper-V is free. If you run Windows Server in your VMs then you’re already buying Standard or Datacenter edition at the host level and using the virtualisation rights. If that’s not how you’re doing it then please send me your company/customers name(s) so I can make some easy money.
You can learn how to license Windows Server VMs legally using my recent post.
That means you get all of what Hyper-V does for free. Choosing to run vSphere 5.1 with Windows Server VMs means you are adding the cost of vSphere. OK, but for less than that cost I can license myself for a System Center SML and have all of System Center’s private cloud and integrated enterprise systems management functionality. Of course, you can choose to spend more money for a collection receently acquired confusing VMware point solutions. But that’s just my opinion of it.
WS2012 Hyper-V has complete PowerShell support, an easy to pick up (I only started in March) high level scripting language. You can do just about everything in PowerShell, enabling easy and rapid deployment or configuration change without rampant time consuming and mind numbing hammering of a mouse. You can do PowerShell CLI or scripting, with lots of error checking and decision making built-in. I’ve been showing consultants in my crash course classes how they can take a few scripts from client site to client site and rapidly deploy customers with very little tweaking/engineering. And I know a certain book …
vSphere does have a CLI. I had to Google it. I never hear it being talked about. I know nothing about it other than it looked very basic compared to the power of PowerShell in my quick glimpse. Yes, there’s an API, but that’s for software developers, not consultants, engineers, or administrators.
I have to give a significant decision in favour of WS2012 Hyper-V here because of the ability to rapidly change or manage an environment with a few or with thousands of virtual machines from a single line of PowerShell.
The facts speak for themselves. WS2012 Hyper-V does more, scales out more, is build as the foundation for an enterprise cloud, and is effectively free. You can go ahead and use vSphere 5.1 if you want, but why would you wan to pay more for less?
Please read the original Microsoft document that I took the tables from where you will find much more detail.
You’ve read what I have to say. Now go take a look at what Gartner thinks.