Both Xen and KVM offer distinct advantages, such as the ability to run multiple OSes simultaneously and gain access to network flexibility.
An admin's decision ultimately comes down to the organization's primary infrastructure, staff resources and interest in using the cloud.
These hypervisors are Linux-based and have vendor support for management tools through Citrix, Oracle and Red Hat.
What is Xen?
Researchers at the University of Cambridge created the Xen Type 1 hypervisor in the late 1990s. The Linux Foundation took over the project in 2013.
A Xen-based hypervisor is a Type 1 hypervisor, which enables IT administrators to run multiple OSes on the same hardware and has a small management layer to manage shared resources.
Citrix and Oracle use Xen for their virtualization products. Citrix co-opted the Xen name but decided to rebrand XenServer as Citrix Hypervisor to differentiate it from the open source offering.
What is KVM?
Adopted into Linux in 2007, Kernel-based Virtual Machine (KVM) is a hypervisor that virtualizes OSes on x86 server hardware. Because it is in the Linux kernel but runs guest OS software, there is debate about its classification as a Type 1 or Type 2 hypervisor.
OpenStack and oVirt currently use KVM as the default hypervisor. KVM lets admins run the following guest OSes: Berkeley Software Distribution, Solaris, Windows, ReactOS and macOS with QEMU.
Primary KVM vendor support is through Red Hat, plus the Linux kernel development team. Both admins and vendors consider this support an advantage, and Amazon has actively moved toward a more hybrid approach to include KVM integration.
Differentiate between KVM vs. Xen hypervisors
The Xen hypervisor uses a microkernel design that runs on bare-metal hardware and can run on systems without virtualization extensions. This doesn't apply to most modern servers but is an issue for older hardware.
Xen version 4.14 has several new security-focused features, including Linux stub domains, a lightweight VM fork to analyze malware, a live patch feature with higher granular control over patching, and support for the hardware-based Control-flow Enforcement Technology Shadow Stack.
April 2021's version 4.15 improved these features and included new secure boot modes.
An advantage of KVM is that it functions at the Linux OS kernel; this means that KVM gets bug fixes and security updates as Linux publishes new releases.
KVM Nitro is a new Amazon Elastic Compute Cloud capability that carves out isolated compute environments within the same instance. Security and isolation are the primary motivations to protect sensitive data at the VM level.
Infrastructure influences hypervisor choice
An organization's primary infrastructure is the main factor in the choice between KVM vs. Xen hypervisors. Other factors include UX, staff knowledge and code requirements.
A smart choice requires admins to have a good understanding of current dependencies upon specific vendors and a clear vision of where their IT projects are heading.
Oracle and Citrix have a large customer base and push Xen as their primary hypervisor. Red Hat, SUSE and Canonical support KVM as a virtualization option for their Linux versions.
For cloud, admins face a similar decision: Citrix and Oracle have a Xen-based offering, as opposed to Google on KVM. Amazon offers both Xen and KVM, so an admin's infrastructure requirements are the final factor. For example, admins that choose Amazon as their cloud provider for a new project might be more inclined toward KVM. IT teams that use Citrix or Oracle and move their system to the cloud will likely favor Xen.
It's also important to evaluate the growing popularity of hybrid and on-premises cloud offerings. If admins investigate these options, they must understand and consider their existing virtualization software and how well it integrates with any prospective cloud provider.
Amazon supports both Xen and KVM, but the vendor still maintains a working relationship with Citrix.
Admins should fully understand all UX options before they make a final decision. Major cloud vendors provide both web-based and programmatic interfaces to enable flexibility for IT teams and admins.
Automation is the main way to manage any large-scale virtualization project, which requires someone to write code. Available and capable staff is the primary factor to understand and plan for any code-writing requirements.