VPS Hosting — 22 August 2011
KVM Vs. VMware ESX: Is There a Clear Winner?

Virtualization is an increasingly popular trend for anyone wishing to operate a server. There are a variety of technologies from which to choose, each having its own unique tradeoffs. Two popular choices are VMware ESX and Kernel Virtualization Machine (KVM). While each virtualization Platform achieves the same basic goals, the features they provide in doing so differ somewhat. If you need to choose a VPS but aren’t sure which of these two options are best, read on for some of the key differences between these technologies.

A platform’s support for hardware virtualization is a key determining factor in how well it runs. Hardware virtualization refers to specific instructions added to CPUs to virtualize another operating system. While this can be done in software, hardware-based implementations are much more efficient. KVM requires hardware virtualization to run. VMware ESX on the other hand can run without it.

Virtualization Guest OS

Choosing between a VMware ESX or KVM VPS once depended rather heavily on the guest operating system you planned to host. Older versions of KVM were somewhat more limited in their ability to run guest operating systems. In particular, users were advised to use another virtualization platform for Windows-based OSs. This has all changed, as KVM is now expected to run any X86 operating system in a production setting. This is true of VMware ESX as well. As such, the guest operating system being run is no longer a major factor when choosing a virtualization technology.

Administering a KVM or VMware ESX VPS is challenging, and a solid and well-designed set of tools can make the difference between a productive experience and a frustrating endeavor. Both solutions allow console access for advanced users, but a text console can sometimes be a tedious method for resolving administrative issues. The ecosystem of administrative tools is rich for either platform, and which you choose is a matter of taste and requirements.

Virtualization Administration Application

VMware ESX ships with an officially supported web-based administrative application. In addition, an infrastructure client facilitates managing your VMware ESX VPS from a Windows environment.

The ecosystem of KVM administrative interfaces is somewhat more diverse, sporting everything from vanilla command line utilities to full commercial products with web and desktop interfaces. Your likelihood of finding something that meets a specific set of requirements is greater with KVM, but many of the advanced solutions may not be as complete as the VMware ESX administrative interfaces.

Commercial Support

Commercial backing is often helpful for an open source ecosystem to thrive. VMware ESX of course has its own parent company, serving as a definite end point for support. KVM on the other hand is born of the Open Virtualization Alliance, comprised of dozens of companies with an interest in advancing confidence in and adoption of KVM. All member companies are involved in the virtualization ecosystem, and each contributes something toward the improvement of KVM as a virtualization solution in a variety of circumstances. Even if an individual isn’t a member of the Open Virtualization Alliance, the number of companies available to consult for and support a KVM-based solution is greater. Increased choice means greater competition and better service for any adopter of KVM.

Is there a Winner?

On a pure technological basis, KVM and VMware ESX are highly comparable. Both run a similar number of guest operating systems, sport many administrative interfaces, and support hardware virtualization instructions. Unless you cannot use hardware virtualization, or if you require a polished and officially supported administrative interface, VMware ESX is probably the better choice. All other users will likely be better served by a KVM VPS.

Related Articles

Share

About Author

Tim

(0) Readers Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>