Now, it's time for first technical post, otherwise people will think this blog as "Yet Another Personal Blog" rather than Virtualization blog. today i'm going to compare the architectures of most popular off-the-shelf available hypervisors. Mostly hypervisors can be segregated into two major categories type-1(bare metal) and type-2(paravirtual). for today i'm considering type-1 hypervisor. we can segregate type-1 hypervisors into two more categories 1)purpose built hypervisor and 2)legacy operating system hypervisor, logically there is not much difference between these two. First one runs directly above the bare metal and the later runs above the operating system layer, also called as parent partition(Windows) or Dom0(Linux).
1)VMware ESXi- Vmware ESXi falls under the type-1, purpose built hypervisor category, earlier releases of ESX were based on legacy operating system, but when they analyzed the number of patches required to keep the legacy OS up-to-date and large attack-surface, they moved away from that approach and now they are 100% purpose built bare metal hypervisor in the industry.
So, what benefit we get if we're using purpose built hypervisor-
a)Less patching required
b)Less hops, communicating to the underlying hardware
c)Thin and small attack surface
d)Fast and agile infrastructure, when your hypervisor can be booted off from USB/SD card
e)No legacy and emulated device drivers
2)Hyper-V- Although there were so many rumors over the blogosphere about hyper-V being type-2, but it's confirmed that Hyper-V lies in type-1 hypervisor category. these days Hyper-V is giving tough competition to VMware and IMHO it is really win-win situation for consumers. if you don't believe me see the
virtualization development timeline, consumers always wins. So, Hyper-V is type-1 legacy OS based hypervisor.
the cause of those rumors was the way hyper-v is installed above windows OS. after install OS reboots and hyper-v kernel sits on ring-1 of processor and windows kernel runs above hypervisor. it's a bit confusing for people who understands VMware architecture very well, don't worry now everything is crystal clear.
Merits of legacy hypervisor-
a)Smaller learning curve, Training people require less efforts
b)Wide range of hardware support
c)Less hardware compatibility issues
Demerits of legacy hypervisor-
a)More number of hops for communication with underlying h/w
b)higher number of patches
c)Large attack surface
3)Xen- it's the most famous open-source hypervisor, and there are very successful virtualization products based on xen, to name a few-citrix xenserver, amazon aws and rackspace etc. it is type-1 bare metal hypervisor and it supports two virtualization mode- paravirtualization or software assisted virtualization and full hardware assisted virtualization.
Merits of Xen hypervisor-
a)Widely available source code for various distros
b)Can be modified as per requirements
c)Device drivers can be easily written for hardware communication
Demerits of Xen hypervisor-
a)High skilled Developers required
b)Virtualizing Windows OS require para-virtualization drivers
c)Open-source community support
4)KVM- it is now owned by Red hat and renamed as Red Hat Enterprise Virtualization (RHEV). Red hat acquired Qumranet to take part in virtualization race. it is type-1 hypervisor and is somewhat similar to Xen Architecture.
Merits of KVM hypervisor-
a)Backed by biggest Open Source software vendor
b)24x7 support from redhat
c)Very aggressive development for competing with others
Demerits of KVM hypervisor-
a)Very less availability of skilled man power
b)Still not being widely accepted for production workloads
c)For Major issues support call escalates to principal developers.
I kept this post purposefully graphics heavy, as you know "a picture speaks thousand words", so consider this post as 5000+ words long, just joking. In my next post i will elaborate all the tech-jargon's used in virtualization world.
Have a pleasant night.
Images Credits-thanks to wikipedia and google image search