Today, VMware dominates the virtualization market in the enterprise. The only other real competitor is the open source Xen, whether in the form of Citrix's XenServer commercial product, one of the open source flavors like Sun xVM, or the actual open source project.
Microsoft's upcoming Hyper-V product is very similar to the open source Xen hypervisor. The two are so similar, in fact, that I'm now convinced that once Hyper-V comes out, Citrix will shift XenServer so it runs on Hyper-V instead of the open source Xen hypervisor. When that happens, Citrix will have no reason to continue to support Xen.
Meanwhile, there's an upstart open source virtualization engine called KVM. ("KVM" in this context is "Kernal Virtual Machine," not "Keyboard Video Mouse.") Once Citrix (and Microsoft) shift their focus to Hyper-V, we may see the open source community rally behind KVM instead of Xen.
The hardware virtualization market of 2009 / 2010 could very well be split into three camps:
- VMware ESX
- Microsoft / Citrix Hyper-V
- Open source KVM
Let's dig deeper into how we might get there from where we are today.
Hyper-V and Xen are very similar
Microsoft was involved in the original development of the Xen project in Cambridge. (Gabe originally wrote about this last August.) Then at VMworld in August 2007, Citrix and Microsoft announced that the virtual machines of XenServer and Hyper-V will be compatible with each other, and the APIs to control them will be compatible.
Hyper-V and the open source Xen hypervisor are so similar, in fact, that one could plausibly argue that Hyper-V is the "Windows version of Xen." Benny Tritsch likes to point out that the whole reason Microsoft built the "Server Core" installation option for Windows Server 2008 is so that they'd have something other than Linux to run in Hyper-V's parent partition. (The parent partition in Hyper-V is analogous to Dom0 in Xen.)
When Hyper-V comes out, Citrix will shift focus there, away from Xen
The current market penatration of XenServer is zero. Literally zero. (Sure, some people have bought XenServer, but the percentage of people currently using XenServer is less than the margin of error in all polls asking people what virtualization platform they use. So for all intents and purposes, XenServer's market share is zero.)
But when Hyper-V comes out, this will change. Hyper-V's market share will not be zero for long. Hyper-V will be free and included in all versions of Server 2008. Microsoft has a long history and does a great job creating products that—while technically inferior to competitors—are just "good enough" for people to use them. Especially when they're built-in to Windows.
I have no idea what Hyper-V's market share will be six months or a year from now. But I can absolutely 100% guarantee it will be more than XenServer's is today.
So if today's Citrix XenServer product adds value to a hypervisor that no one's going to use in a year, and if that hypervisor is very similar to a hypervisor that millions of people will use in a year, why wouldn't Citrix make the modifications to XenServer to support Hyper-V-based hypervisors in addition to Xen-based hypervisors?
In fact, we already have precedence for this relationship between Citrix and Microsoft. In the server-based computing world, Microsoft provides baseline functionality with terminal services, and Citrix adds value with XenApp (Presentation Server). This would be no different in the hardware virtualization world: Microsoft provides the baseline functionality via Hyper-V, and Citrix would add value with XenServer.
From a practical standpoint, I'm sure XenServer won't "automatically" work on Hyper-V. Citrix will certainly have to do some work make everything functional. But the similarities between Hyper-V and Xen should make this process relatively straightforward.
Citrix XenServer supporting Hyper-V is a fairly non-controversial prediction that most people agree with. So let's take this one step further. Assuming Citrix ports XenServer to Hyper-V, how long will they continue supporting the open source Xen hypervisor? Or more directly, why should Citrix continue to support the open source Xen?
From a practical standpoint, maintaining a Xen version and a Hyper-V version of XenServer would just be extra work for Citrix. And will Citrix lose any sales if they just get rid of Xen support? Not likely. (Certainly not enough to outweigh the savings of ditching Xen support altogether.) Chances are that if a customer is "anti-Windows" enough to not want to use Hyper-V, then they're going to be the type of person who would instead prefer to use one of the open source Xen products instead of Citrix's commercial XenServer.
Furthermore, working with the open source community is not natural for Citrix. They don't care about that community, and their company and business model is in no way setup to deal with open source. The faster that Citrix can distance themselves from open source and tie themselves to Redmond, the stronger their enterprise sales will be.
So when Citrix finally drops open source Xen support from XenServer, who will get upset? The five people who actually bought it already? The open source community who wasn't going to pay for it anyway?
You know who would not be upset? The millions of people who run Hyper-V, the millions of people who are comfortable paying for software they use to run their companies, and the millions of people who are comfortable paying Citrix for software that adds value to the out-of-the-box capabilities of Microsoft Windows.
Once Hyper-V is out, there will be no reason for Citrix to continue to support the open source Xen hypervisor.
The open source community shifts towards KVM, away from Xen
If Citrix drops support for Xen, what does that mean for the future of Xen? Today there are many companies besides Citrix selling or providing products and solutions based on the open source Xen hypervisor. Some of these products include:
- Sun xVM
- Oracle VM
- Virtual Iron
- Red Hat (oops, not as of last week!)
- Virtual Iron
But the open source community is split right now over the best way to do virtualization—Xen, or something called "KVM."
"KVM versus Xen" is a religious battle that is best hashed out elsewhere, but I'll try to provide an overview of the two sides here:
- Xen is a full hypervisor. It's more-or-less its own full operating system, complete with its own hardware compatibility list, that was built from the ground-up to host virtual machines.
- KVM is not a hypervisor. KVM is not its own operating system. KVM is a "snap-in" to an existing operating system, such as Linux, that lets it run processes in "guest" mode in addition to user mode or kernel mode. This means that KVM runs on anything that Linux runs on (which basically means it runs on anything).
Xen folks attack KVM, saying it's like VMware Server (the free one that was called "GSX") or Microsoft Virtual Server because it's really a Type 2 hypervisor that runs on top of another OS, rather than a "real" Type 1 hypervisor. KVM responds "So what? Why should we rewrite an OS from scratch when something like Linux is available? And if you want to use a KVM machine as a dedicated VM host, then fine, just don't install anything else on that box."
Xen folks also say that Xen offers better performance since it offers paravirtualization, although KVM is working support for paravirtualized NICs and storage, and it's still unclear whether that even matters.
Finally, Xen folks say that KVM is too new and unproven. KVM responds by saying, "We've been in the Linux kernel since Feb 2007. Those kernel maintainers aren't dumb, and the fact we're in the kernel shows how solid we are." (Interestingly, Xen has tried several times—but always failed—to get into the kernel.)
Right now there's no clear winner between Xen and KVM. It's true that KVM's "newness" seems to be it's biggest downside, although support for it is growing. In fact last week RedHat announced that they're throwing their weight behind KVM instead of Xen. And perhaps the most interesting thing about KVM is that it was started by Moshe Bar—the same Moshe Bar who cofounded XenSource!
So if (when?) Citrix switches to Hyper-V, and now that RedHat is on KVM, who's still going to want to spend the time and effort maintaining Xen?