Two years ago, it was completely clear what was happening in Linux virtualization. The Xen hypervisor had just been implemented, and Xen was about to conquer the world. Today, the Kernel-based Virtual Machine (KVM) is a serious alternative for handling virtualization in Linux environments. This article provides an overview of the state of KVM virtualization and expected developments in Linux enterprise environments.
With the release of Ubuntu 8.04, Ubuntu Server was the first Linux distribution to implement KVM virtualization. At the time, KVM didn't yet offer the utilities that are currently available, but Ubuntu Server was a relatively new player on the market and lacked a large user base that already used Xen. KVM in Ubuntu Server 8.04 was not as user-friendly as Xen or other virtualization alternatives, but it was a clear statement. Canonical Ltd., the company that offers support services for Ubuntu, saw KVM virtualization as the future.
Meanwhile, Novell -- and to a lesser extent, Red Hat -- tried hard to implement Xen virtualization in their enterprise server versions. Both offered environments that were more or less comparable. Novell bought virtualization tools producer PlateSpin Ltd. and was working on an environment to orchestrate virtual machines.
One of the first major changes in Linux virtualization was marked by the purchase of XenSource by server-based computing giant Citrix System Inc.' XenSource was founded in 2007 by the inventors of Xen. Citrix then incorporated XenServer into its product line. The company now offers XenServer as an alternative to VMware Inc.''s virtualization stack. XenServer is free and has an easy-to-use management system. Citrix has made a lot of noise with XenServer, so when market observers hear about "Xen," they generally think of Citrix's incarnation. This doesn't exactly help Linux players such as Red Hat and SUSE, which also offer Xen virtualization.
A major reason for players in the enterprise Linux market to move away from Xen is technical. The Xen hypervisor is a complex collection of components. At the other end of the scale, KVM is just a kernel module, making life easier for those responsible for patch management of enterprise Linux servers. With every update of the Linux kernel, KVM is updated as well. To integrate a Xen update into a Linux distribution takes a lot more work than that.
A major step in Linux virtualization was taken late in 2008, when enterprise Linux market leader Red Hat announced the purchase of Qumranet, a major developer of KVM virtualization. According to Red Hat, it made this acquisition so it could offer a next-generation virtualization technology. In the upcoming subrelease of Red Hat Enterprise Linux 5.4, this will manifest in the integration of a complete KVM stack.
The only major Linux player not currently engaged in KVM virtualization is Novell. There are, however, signs that Novell is considering KVM integration for a future enterprise server release. Novell already offers KVM as a "technology preview" in SUSE Linux Enterprise Server 11, but the current stack is unsupported and not really user-friendly. Several sources involved with the development of SUSE Enterprise Linux have stated that they consider KVM to be the leading solution for the future and that it's by no means certain that Novell will continue offering Xen as its only virtualization option.
The major benefit of these developments is that the various options within the virtualization market have become clearer to customers, with (at least) four major players in the future: VMware with VMware, Citrix with Xen, Linux with KVM, and Microsoft with Hyper-V.
About the expert
Sander van Vugt is an independent trainer and consultant based in the Netherlands. Van Vugt is an expert in Linux high availability, virtualization and performance and has completed several projects that implement all three. He is also the writer of various Linux-related books, such as Beginning the Linux Command Line, Beginning Ubuntu Server Administration and Pro Ubuntu Server Administration.
Dig Deeper on Citrix XenServer