As mentioned in my previous blog, Xen is the more mature and most popular, non-commercial virtualization product in the past, but has slowed down in recent years…
or has it?
Around the time when KVM was purchased by Red Hat, Xen was beginning a slow decent due to lack of community support. What I didn’t realize is that the support for Xen was there all along.
Is the balance tilted favouring Xen or has it always been there and how can this be if most people are asking about KVM when they speak with us?
When I speak to colleagues and other industry experts, most want to know what is the most popular open sourced Hypervisor? Better yet…What is the most popular hypervisor? So this got me to think….how can I measure this? What percentage of clouds in the world at any given time (worldwide) use Xen, Kvm, Hyper-V, ESXi, QEMU? Why not? Lets look at the whole pie!
So I begin…
First off, we’re being defeated by a bookstore and everyone is playing catch-up. Why am I saying this? Because that bookstore is AWS, they are also the market leader in cloud based services and most importantly, use Xen for their virtualization deployment.
AWS sits second to Microsoft, however, SRGReasearch.com states that AWS has 31% marketshare, MSFT 9%, IBM 7% and Google 4%.:
From a public cloud standpoint, I believe Xen is still in the lead, but losing ground at a fast pace…just don’t count your chickens until they’re hatched! Xen seemed to have fallen behind due to a community breakdown and now when I actually look at the industry, it doesn’t look this way at all. They are up to speed…problem is, everyone is catching up at an alarming rate.
AWS utilizes Xen, MSFT Hyper-V, IBM…actually, I have no idea what Softlayer is using for their Virtualization. I am assuming the IBM part is pushing Power v/m, Openstack and the rest of the services are whatever the client wants to use like Onapp or openstack with XEN/KVM, while Google uses KVM.
[Update]: IBM apparently has create PowerKVM, so Softlayer is probably pushing that:
From my findings, most enterprises use VMware (ESXi) and service providers will use KVM or another choice (so many other choices). As far as the private cloud market goes, VMware is ahead of the game and right behind them is Microsoft!
KVM, to the best of my knowledge is almost never used internally and is almost always a public cloud thing.
This graph from Gartner (2015) illustrates the race:
For more clarity Oracle runs OracleVM (Xen), Red Hat utilizes KVM, Odin (self made hypervisor and container Virtuozzo/OpenVZ, Citrix/Cloudstack (Xen -> Xenserver), Huawei FusionSphere, which is like Odin…they made their own.
If we are talking private clouds, I would say VMWare has at least 65% of the marketshare and would not be surprised if that number were higher. Microsoft Hyper-V is also everywhere and gaining ground fast.
KVM, is still behind Xen in popularity, however, is gaining ground. Many service providers, including Telcos are beginning to implement KVM. A huge ISP in India called NextGen plans to roll out a massive KVM deployment, Joyent (bought by Samsung) also uses KVM, but then you have AWS/Oracle/Citrix that all use Xen.
In the public cloud space, I’d say KVM has a small minority stake right now..If you need a number, it would only be a guess…I would say 20%.
Xen, still most popular with heaviest density as being the most deployed virtualization technology out there. This is mostly due to its adoption by the early service providers like Amazon, Citrix/Cloudstack and Oracle. If not for these guys, the metrics would be completely different.
On a side note:
Once in a while, I would get asked “what about QEMU”? Well, QEMU…it’s just an emulator.
An emulator integrates the entire hardware of a machine (eg a server) in software with all features of the virtual machine and has to be programmed (in C, for example) for maximum agility between infrastructure, since porting to a different machine is no different to porting any other C program. Because of the complexity of most CPUs, and x86 architecture in particular, emulators tend to be quite slow.
Instead of implementing the x86 CPU in software, a VM takes advantage of the physical x86 CPU to directly execute guest instructions. This gives a considerable performance increase, but at the expense of tying the virtual machine to the x86 architecture.
- An x86 VM can not be ported to run on a physical machine with, for example, a Risc CPU Architecture. Other than the different approaches to the CPU, a virtual machine emulates other hardware (the video card etc) in exactly the same way as an emulator.
QEMU, rarely used commercially. (just my opinion)
***NOTE: I realize this blog is a little out of date. I’ve had it in my archives since the end of last year and hadn’t published it yet.
****DISCLAIMER: I work for OnApp which is an Infrastructure as a Service Vendor.
*****UPDATES: There will be updated articles following up on the XEN and KVM saga in the near future.