Update: I removed some of the links in the article because Greg Shields gave up his blog.
- Author and member of the year 2019 – Why DevOps still doesn't rule the IT world - Wed, Jan 1 2020
- Results of the 4sysops member and author competition in 2018 - Tue, Jan 8 2019
- Why Microsoft is using Windows customers as guinea pigs - Reply to Tim Warner - Tue, Dec 18 2018
Greg Shields published an interesting article that explains the difference between the hypervisors of Microsoft's Hyper-V and VMware's ESX. It is a response to a widespread misunderstanding. VMware supporters tend to believe that VMware ESX has a bare metal hypervisor, whereas Hyper-V runs like Microsoft Virtual Server 2005 on top of Windows. Greg explains in detail in what sense both virtualization solutions are Type 1 hypervisors contrary to Virtual Server and VMware Server, which use Type 2 hypervisors. A Type 2 hypervisor is installed on top of the administrative OS, whereas a Type 1 hypervisor runs on bare metal, a layer below the administrative OS (Windows Server 2008 in the case of Hyper-V and Red Hat in the case of ESX).
However, there are also important differences between Hyper-V's and ESX's hypervisors. Greg makes things absolutely clear: Hyper-V has a far more advanced hypervisor because it is microkernalized, whereas ESX has a monolithic hypervisor. Among other things this means that Hyper-V uses synthetic device drivers, which are just pointers to the real device drivers into the primary partition's administrative OS (Windows Server 2008). ESX's device drivers exist within its hypervisor. Hyper-V's architecture has quite a few advantages:
- Hyper-V's smaller microkernel improves performance
- Hyper-V supports paravirtualization, which improves the performance of supported guest operating systems
- ESX monolithic hypervisor leverages hardware emulation, which makes it slower
- ESX's kernel has a higher complexity, which makes it more prone to errors
- Supporting new devices is more time consuming for VMware because drivers have to be integrated into the kernel
- Hyper-V supports more devices because it relies on Windows devices drivers
The fact that Hyper-V's administrative OS in the parent partition is a full-blown Windows Server 2008 installation and therefore is much bigger than in ESX's case is no disadvantage because disk space is not an issue these days. The mere size of the parent partition has no negative effect on the hypervisor's performance.
This is certainly true, but I'd like to add that the mere presence of all this Windows code in the parent partition increases the attack surface. Considering that Windows is more widespread than Linux, ESX is probably the more secure virtualization solution. Furthermore, Hyper-V's reliability depends more on third party device drivers.
Greg acknowledges that Hyper-V plus Virtual Machine Manager lack some important management features compared to ESX and Virtual Center. I think there is still a long way to go for Microsoft to catch up with VMware in this area. However, Microsoft is already ahead as far as the hypervisor, which is the core of any server virtualization solution, is concerned.
Please check out Greg's article about the differences between hypervisors of Hyper-V an ESX, which outlines the arguments in much more detail.