Recently I've been experimenting with Virtual machines for my development environment. The goal was to create a Virtual Machine that resembles our main production server, and have that Virtual Machine mount my workspace project directory as it's DocumenRoot. This way, my code could be served & tested after every save in my IDE. So no more building / committing delays. And all I could mess up was a Virtual Machine.
I didn't know what software to start with and just tried the bunch. Here's my ever so subjective comparison 'chart' on Virtual Machine software.
Choices
VMWare
- Best user interface around
- Has better network support (allows guests their own IPs easily)
- Will eat your harddrives alive
- Allround slow. Running two instances will render your workstation useless.
- Costs money (workstation edition, which is what I needed)
KVM
- Is supposed to be quite awesome (especially beats VirtualBox Networking)
- Fairly new and still needs some work (especially on the interface)
- Could not find good documentation yet
- Only Windows & Linux guests supported
Qemu
- Fast
- Supports many operating systems
- Scares me
- Documentation was offline
- Development seems to have dropped. Last changelog was from January 2008
- A lot of 'hand work', could not find a good GUI
Xen
- Good for production use in server environments
- Poor workstation interface
VirtualBox
- Easy user interface
- Good performance
- Good integration with OS
- Open source 'VMWare'
- Available through package management like apt
- Poor network support (briding may not be required, but called for extensive tweaking of my workstation's network interfaces file)
And the winner is...
VirtualBox! For my workstation environment VirtualBox it delivers the best tradeoff between costs, performance and ease of use.
I will be looking forward to people sharing their experiences, and concerns about the lack of scientific substantiation of this article ; )
Keep in mind
That virtualization is a real hype now. I've been following VirtualBox for 3 months, and Sun Microsystems for instance is making solid progress with the newly aquired VirtualBox. Other big players are investing serious resources as well, and if KVM can get the docs & GUI right, they're bound to play a big role as well, since it's integrated with the Linux kernel.
In short: my findings may be outdated shortly after posting. Ah well.. here it goes anyway.