VMWare or Xen? Depends on Your Fluency in Linux
You hear it all the time: Xen is not ready to take market share from VMware because it is not as mature a product. Many disagree, because all the core functionality exists in Xen, but it isn't configurable via a unified GUI. In this article, we explain what maturity means and how you can decide which aspects are really important to your IT organization.
Xen and KVM are built into the kernel, and essentially provide the "hypervisor" functionality similar to Vmware's virtualization engine. With libvirt, the library for controlling virtual machines, applications can be created to interact with the hypervisor and running virtual machines. XenServer, owned by Citrix, is based on Xen, but adds a complete GUI and other functionality similar to what you would find in VMware, such as storage virtualization. XenServer is less expensive than VMware, but it is far from free. When we refer to Xen, we are really referring to Xen, KVM, and any other built-in Linux virtualization engine controllable by libvirt, but not XenServer.
Maturity, Not Stability?
Indicators of maturity, for most VMware users, mostly relate to centralized management. The GUI should be able to perform any management function, and should be the primary way to manage a cluster of virtual machines. While this is truly a handy design, the unfortunate part of open source software is that this rarely happens.
When talking about feature sets of VMware versus Xen, they are almost identical. Live migration (a horribly expensive "enterprise" feature in VMware) certainly works very well in Xen. Xen has supported live migration for years. Other fancy bits of VMware like storage pooling or storage virtualization are not part of Xen, because this is not Xen's job. So, it is fair to say that VMware often wins the "integrated feeling" contest. This does not mean you cannot accomplish such things with Xen, instead it means that you'd use other functionality in Linux to accomplish them. It certainly is more DIY.
Xen, however, focuses on features and performance of virtualization. That core functionality is constantly being improved and tweaked, and because they aren't worrying about point-and-click features, the focus is in the right place and yields amazing results.
Fluency as a Decision Tool
Assuming all functionality an IT organization needs can be cobbled together using various features in Linux, the question is now, "is it worth it?" Four years ago, we might have said that a VMware license at two to three times the cost of each server was worth it, because it saved so much time. As cost-cutting measures becomes more prevalent, Xen might start to make more sense.
First, you must determine if the people on your IT staff are Linux experts. If they are, chances are good that you can make Xen work for your environment. If you lack Linux systems administrators, the road ahead might be challenging, depending on your required feature set for virtualization. Said Linux administrators should also be great at scripting, so management tasks can be automated.
In short, if you do not have Linux people on staff, you may be able to "use" Xen in a basic way, but integrating other open source tools and automating the infrastructure will be unlikely. On the other hand, this is the power and flexibility inherent in open source systems. If something doesn't work the way you like in VMware, you have no recourse. If you're using Xen and you don't like the way some management utility works, you would switch to using a different one, while still using Xen.
Open Source Ideals
Open source components are building blocks. Libraries, such as libvirt, allow you to use the same GUI with any virtualization technology that utilizes libvirt. KVM is much faster and better than Xen, and it is a drop-in replacement kernel module. Swapping between the two involves rebooting into another kernel, but everything else remains the same. The power and flexibility to do this are only found in Linux and open source systems, and are why many people see no need to use VMware.
There are GUIs for Linux virtualization, by the way. Red Hat has put a large amount of work into the GUI for the Conga project. Conga is more about cluster management, but a large part of that is virtual machines as a cluster resource.
A new project, oVirt from Red Hat, has also far exceeded expectations. From the GUI in oVirt, you can manage iSCSI storage, select what operating system to install, and fire off a new virtual machine. The great part is that oVirt uses many open source tools, and automatically configures them for you, such as cobbler, puppet, and openldap. In fact, oVirt is on the path to being much, much better than VMware.
In the end, people talking about Xen being less mature are not seeing the whole picture. It's open source, and as such does not include what people expect after using the VMware GUI. Xen is the hypervisor engine, not the management interface, yet people never compare VMware's hypervisor capabilities to it, they just cite the lack of integrated feel. Make sure to ask for clarification when discussing VMware vs. Xen, and you will likely discover the benefits and demonstrate them to others with such clarifications.
For those holdouts waiting for open source virtualization to be "mature" in the wholly-integrated-solution sense, oVirt is likely your answer. In general, if you require more flexibility and performance tuning abilities that involve more than simply buying new hardware, Xen and Linux are ideal.
Charlie Schluting is the author of Network Ninja, a must-read for every network engineer.