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