Open-source Xen has yet to set the enterprise on fire but was the de facto virtualization platform in Linux hosting circles. But now, even some margin-conscious hosting providers are turning their backs on Xen, instead opting for KVM.
In the past couple of months, hosting providers ranging from IBM, NTT Communications in Japan, the Dutch virtual private server (VPS) provider Tilaa, and Houston, Texas-based The Planet have all said they will offer services based on KVM rather than Xen. At the same time, Red Hat released a beta of Red Hat Enterprise Linux (RHEL) 6 last week that no longer contains Xen, which has been in the distribution since RHEL 5.0, released in 2007.
Many marquis hosting/cloud providers continue to run Xen, most notably Amazon EC2, GoGrid and Rackspace Cloud, and with the support of Citrix and Oracle, it has strong commercial backing. "Xen isn't going away," said Stephen O'Grady, industry analyst at Redmonk.
At the same time, for the Linux community, at least, Xen has largely been eclipsed by KVM, O'Grady said. In addition to Red Hat, KVM is supported by Canonical's Ubuntu, and will be supported in the next version of Novell SUSE Linux Enterprise Server (SLES) 11 Service Pack 1, slated for this quarter.
Linux kernel developers say no to Xen
Some would argue that the beginning of the end for Xen in Linux circles came when the community couldn't get the Xen Domain 0, or Dom0, merged in to the mainline Linux kernel. KVM, on the other hand, was merged in to the mainline kernel with Linux 2.6.20, released in September 2007.
Xen's Dom0 is a priviledged domain that allows other domains (guests) to start and stop, and runs all the device drivers necessary for other domains to run. By including Dom0 directly in the Linux kernel, Linux distribution vendors would not have to create a Dom0 themselves, speeding up development and testing times, and freeing engineers up to work on other efforts.
More to the point, "if it had happened, Xen would have been the de facto way that open source virtualization would have been done," said Bernard Golden, CEO at cloud computing and virtualization consultants HyperStratus, and author of Virtualization for Dummies.
But the Xen Dom0 merge has yet to occur, despite the platform's longevity (its first release came in 2003), and its proponents' ardent desire to see it there.
"We would be thrilled," to see Dom0 merged in, said Carlos Montero-Luque, Novell vice president of business and product management. "There would be some refactoring that would be needed to make it in to the kernel….but in the long term it would pay off in terms of modularity."
But any such hopes are fading fast, or are already completely dashed. In a protracted email exchange on the Linux kernel maintainers list last summer, the Linux kernel maintainers expressed their strong opposition to merging Dom0 on technical and architectural grounds.
Striking a particularly contentious tone, Linux creator Linus Torvalds summed up the issue: "Xen really is horribly badly separated out," he wrote. "It gets way more incestuous with other systems than it should. It's entirely possible that this is very fundamental to both paravirtualization and to hypervisor behavior, but it doesn't matter - it just means that I can well see that Xen is a f*cking pain to merge."
Since then, efforts at merging Xen have petered out, said Thomas Gleixner, a Linux kernel contributor and founder of Linutronix in Germany. "I've not heard anything other than some vague plans since that big flame war last year," Gleixner said in an email.
Gleixner added that he and other kernel maintainers are not fundamentally opposed to merging the Dom0 code "as long as it does not impact the maintainability of the kernel in the way as the proposed patches did." At the same time, in his view, "it's not the kernel maintainers' job to make that happen. That work has to be done by the Xen folks."
Official Xen channels deny there ever were any efforts at merging Xen in to Linux.
"There never were any attempts to get Xen into the kernel," wrote Citrix CTO and XenSource co-founder Simon Crosby last week in a blog. "If you think otherwise, please produce some evidence. Xen is a hypervisor that (in general) happens to use Linux for a driver/management domain, though that is not required."
KVM smelling like roses
The upshot of sparring between the Xen and Linux kernel community is that open source Xen has become increasingly difficult to implement and maintain, said Carl Meadows, senior product manager, cloud services at The Planet, a managed and dedicated hosting provider in Houston, Texas that is developing a public cloud offering based Ubuntu KVM.
In its research, The Planet found it was difficult to simply drop a Linux guest on top of Xen, Meadows said. "The knock against Xen is that you need to make extensive modifications to the guest to make it work properly," he said. Commercial instances of Xen like Citrix XenServer probably have fewer of these issues, but that's little comfort to hosting providers focused on keeping costs low.
That situation is only being exacerbated by the Linux community's mass exodus away from Xen.
"The updates to the guests keep getting more and more out of date as the community abandons Xen," Meadows said. "Most distributions have completely abandoned Xen or will do so in the next couple of years." That leads him to question Xen's longevity. "It's a mature platform, but it has a questionable future," Meadows said.
KVM, meanwhile, shines in many areas where Xen does not, Meadows maintained. Unlike Xen, which is its own separate microkernel, KVM is part of Linux, and thus does not require an additional layer to install and maintain. Furthermore, Linux guests run on KVM without any hassle. In early testing of KVM, "it runs every guest we've tested on it without modification," Meadows said.
However, KVM still suffers from relatively immature management. "The hypervisor itself is actually very full featured," complete with live migration and RAM deduplication, Meadows said. "The challenge has been management; there isn't a rich ecosystem of commercial software with fully based management offerings. We've had to build our own dashboards" to provide a graphical view of information that is otherwise only available from the command line.
Xen, KVM saga to be continued
Despite the controversy, existing Xen cloud and hosting providers are keeping an open mind on Xen and KVM developments.
Rackspace's Rackspace Cloud runs on a combination of Citrix XenServer and open source Xen, and has for several years, said Jonathan Bryce, Rackspace Cloud co-founder. It meets Rackspace's needs, particularly given the company's focus on business customers centered on Windows and a few high-profile Linux distributions, he said.
But Bryce could imagine problems arising from a weakened Xen community among hosters that cater to more open-source/Linux centric users. At ServerBeach, a dedicated hosting provider that Rackspace sold to PEER 1 in 2004, "there were a lot more tinkerers that wanted to try out technology ahead of other people," Bryce said. If a Linux distro stops actively supporting Xen, it will make it harder for Xen-based VPS providers to support that population.
Bryce doesn't anticipate Rackspace Cloud to switch away from Xen, but acknowledged that the company had looked at KVM and "was keeping an eye on things." "If the Xen community starts to die out, we're not going to stick with a platform that isn't going to evolve and meet our needs," he said.