One item that I have seen come up again and again recently with my customers is a mis-understanding of ESX and VM Server. Particularly the performance aspects of both. These are two entirely different products with entirely different goals that need to be kept in mind when comparing the two.
VM Server is the free server virtualization product from VMware. It’s purpose was to help seed the market and get people more confortable and familiar with virtualization concepts on the server. What better way to do that than give something away for free for people to play with! VM Server is similar to VM Workstation/Fusion in that it runs on top of an OS; so from the ground up you have:
server hardware > operating system > VM Server > virtual machine.
This means VM Server inherets the same performance issues that the OS has. It also means that it has to rely on the OS for a lot for the management of resources. Net result: the performance of VM Server will be impacted by the OS you are running it on top of.
ESX is the data center grade hyperadvisor from VMware. It’s purpose is to provide virtualization for business critical data centers. ESX essentially doesn’t run on top of an OS. You can think of it as a data center OS as it is the base layer for the Virtual Infrastructure set of products. Similarily, from the ground up you have:
server hardware > ESX > virtual machines
You can see immediately that ESX has eliminated the operating system level, this is the source of the performance gain that ESX provides. It is running on top of the raw hardware. It is truely a specialized OS with the sole pupose of virtualization.
One thing that VM Server and ESX share, is the engine to run a virtual machine. This engine has lots of tricks built into it to manage the physical resources of the box and to distribute them efficiently to the virutal machines that need them. Of couse, you still suffer from that extra piece of the base operating system under VM Server. This is why you can have VM Server running with no VMs and still see it utilizing resources. It’s doing the work of interfacing with the base OS for resource management even when no one is using the resources.
So, if you hear somone complain about their VMs are not performing very well ask them which product they are using. If they are using VM Server, point them here. If they are running ESX, then it’s time to dive into the typical operating system and application stack tuning/debugging routine.
(Disclosure: I currently work at VMware as a Solutions Consultant)
Yancy Lent says
Awesome post. I’ve been using all the desktop flavors of VM for years but never quite new how much more you get out of going with ESX, this explains everything.
[Reply]
latoga Reply:
November 20th, 2009 at 8:02 am
Yancy, Glad that you found the comparison valuable! Feel free to let me know what other areas of confusion on virtualization I can help clear up.
[Reply]