Virtualization plays the key role in cloud architecture and VMWare ESX server is one of the most popular virtualization tools in the industry. KVM for the Linux kernel upset the applecart a little and then XEN followed in the footsteps of KVM, paving the way for raising the popularity of Linux as a choice for cloud infrastructure.
About KVM
KVM or Kernel Based Virtual Machine is designed for Linux operating on the x86, S-390, IA64 and Power PC chip based hardware platforms. KVM has the complete virtualization infrastructure that can run several virtual machines, either on Windows or Linux, controlling virtualized hardware including hard disk, network cards, graphics, sound and other peripherals. In addition it can run other guest OSes like Solaris, and even Mac OSX. KVM kernel is included in recent editions of Linux. KVM sets up a guest virtual machine’s address space and creates an in-out port mapped to the video display on the host computer.
Pros and Cons of KVM
Pros:
- It is free.
- It is a part of Linux
- Powerful CPU virtualization on Intel and AMD platforms, leverages hardware virtualization and Linux kernel, memory management, I/O capabilities
- Has real time scheduling
- Powerful GUI
- Powerful command line scripting tools for better productivit—ideal for administrators and professionals
- Unlimited usage, no additional licensing fees
- Leverages security, kernel capabilities and memory managemnt of Linux
Cons:
- A bit dated
- Difficult to master for novices and those used to GUI based usage
- Very slow when CPU does not support virtualization and when it works in QEMU mode
- Heavy I/O overhead
- Lack of flexibility in device assignment
- Issues in memory and power management
About XEN
XEN is an open source, free hypervisor software that allows multiple virtual machines on a single physical device. Unlike KVM, it is not included in Linux but is available as options with Linux distributions. Xen is used by large cloud service providers worldwide. In addition to support for Intel x86 and AMD V processors, it also has support for ARM architecture, commonly found in mobile devices. Xen offers two different models of operation. One uses CPU and hardware based virtualization which offers full support for native Windows and other operating systems. The bootloader loads the Hypervisor that then loads the host OS. In the paravirtualization mode XEN allows guest users to run only modified operating systems. Since it integrates well with x86 architecture, it is less prone to issues. It can operate with CPUs without virtualization but in the emulation mode. Since its introduction about a decade ago, several variants of Xen have been introduced and it has proved to be stable and versatile.
Pros and Cons
Pros
- It is more modernized than KVM, user friendly and can run without hardware support
- Support for multiple hardware platforms
- High security isolation features, independent of operating systems
- Offers paravirtualization and hardware assisted virtualization
- A different, user-friendly interface
Cons
- It is not included in Linux except in recent versions
- It has minimal power management features
KVM or XEN?
At the moment XEN, the veteran in virtualization, is a couple of lengths ahead in the race. KVM has some catching up to do but then to its advantage, it is built into the Linux Kernel and is gaining in popularity but Xen has lot of support. At the moment, it is each according to his need and in future, the two will peacefully coexist.
mage courtesy of twobee at FreeDigitalPhotos.net

It is KVM after all I have been working with it for a while.!
But unfortunately I don’t find any openings for it outside my company. Least used in India I guess but very very useful for creating testing environment.
Thanks for the article, but I think you should do more homework on the topic. Saying that KVM is dated immediately removes any credibility that your article could have had.
There are fundamental reasons why most Linux distributors moved to KVM – it is built in into the kernel which means that development and usage is very widespread. KVM’s fundamental design goal was not to reinvent a lot of things and do just the virt portion and do it well. KVM let the Linux kernel with its tried and tested code base (memory management, scheduling etc etc) continue to as is.
Xen did enter the Linux kernel (http://www.linuxjournal.com/content/xen-enters-mainline-kernel), but is not the favoured version by the kernel developers which is an important consideration.
At the end of the day, as long as the hypervisor is robust, secure and provides high performance, it does not matter which one although my dollar is on KVM.
[Disclosure: I work for Red Hat and I am speaking on my personal capacity not representing Red Hat.]
Do not know why you rank KVM this way:
1>A bit dated? So what is current in your eyes?
2>Difficult to master for novices and those used to GUI based usage? do you know virtmanager and kvm front end GUI or web ? I also knwo to manage Xen, you better have a management server alone which gives you the GUI. You just mentioned “Powerful GUI” as the pros.
3>Issues in memory management? You say Linux has this issue? ( KVM relies on Linux kernel to do the job)
Perhaps a little more research into these technologies on your part is warranted. Your opinion contains no auditable references to support any of your points. For instance each pro and con you provide can be used to describe almost every virtualization technology should one cite old KB articles or take them out of context. I’ve worked with most virtualization technologies and although I might favor VMware if capital for licensing is an option, I would take Xen in an instant if capital was a limiting factor.