Taking the easiest route
In the past year my company's needs for virtualization started growing and we started exploring our options. Being related to Microsoft technologies a lot, initially our primary concern was virtualizing many different Windows operating systems. We also wanted a true enterprise solution and were aware that bare metal virtualizers (where the virtualization platform is the OS itself and not installed on top of existing OS) ruled this world. Back then we didn't think much, since we have an MSDN subscription, Microsoft Hyper-V was available to us (one can actually get it for free, but depending on its usage, there are certain licensing considerations). We installed it about 8 months ago and the whole thing has been working flawlessly since.
Things get more complicated as usual
The problems started occurring when our needs for virtualizing various Linux systems emerged. We started working on a project involving a CentOS at the beginning of this year. MS Hyper-V didn't support it back then, the only linux systems possible on it were RHEL and SUSE (one can supposedly try others, but they are not officially supported). In March MS announced their support for CentOS as well. Last month I was just about to install it when another problem emerged for us. We've been using FogBugz as our primary support and project management system for years. Don't get me wrong, I find the system very good, almost everything except its price. Our need for licenses constantly grew and we had a few dissapointments with their upgrade options (moving it from IIS 6 to IIS 7 required a purchase of a new version), so we finally decided to move on and go with an open source system called Redmine. It is a very nice and feature rich Rails solution that can be installed on almost any Linux distro. Apparently, the easiest way to go is with the Turnkey Linux appliance, since it has everything you need to run Redmine preinstalled, it's easy to manage and has a superb backup/restore system via Amazon S3 service.
Research & Assessment
Considering all this and some of our future plans, we needed a more flexible virtualization solution, one that can run most of the Windows and Linux OSes, so I had to do some serious research and assessment this time. Based on my discussions with fellow IT professionals and articles I read, I already had formed an opinion that VMWare was the king of this domain with its ESXi bare metal hypervisor, more recently known as Sphere. It does indeed support way more guest OSes than Hyper-V (even a MAC?), but that's not its only benefit. You can find an interesting comparison between them here. The only problem with VMWare is that its full featured solution costs a considerable amount and the free ones (non bare metal VMWare Server and VMWare vSphere Hypervisor which has a certain functionality stripped out) just didn't seem good enough for us. So, before making any further decisions, I wanted to find out a bit more about the other two major, massively used, Linux oriented virtualizers – Xen and KVM. This article sums up the basic facts about them, and although Xen has been there longer and is more mature, it seems that KVM is expected to develop more in the future and that Xen is slowly loosing the battle. A nice, detailed comparison between all these 4 big ones can be found here.
Invested time finally pays off
Having all this in mind, I started considering KVM as a promising, free alternative for us. I realized that it comes preinstalled in many Linux distros, but was wondering if there was a free bare metal, enterprise kind of solution. Searching the bare metal KVM in google soon discovered the ... drum roll ... ProxMox Virtual Environment. Besides being bare metal, it is open source, easy to install, has a nice and easy web management interface and integrated backup and migration tasks. This alone would have been enough for me to choose it, but there are some additional, really nice features. Beside supporting KVM, it also includes another, completely different virtualization method – OpenVZ container virtualization, which can run only Linux guest OSes, but is supposedly the fastest virtualization technology out there. Web interface easily provides an option to choose between KVM and OpenVZ when creating a new virtual machine. Unbelievably, that is not all, ProxMox goes even further providing the functionality of organizing physical machines into clusters, thus practically giving you an option to build a kind of a private cloud.
ProxMox in action
I installed it, tested everything except the cluster option and have been immensely happy with it so far. We are currently running TKL Redmine via OpenVZ and a CentOS and WinXP via KVM on it, other VMs are soon to follow. I would definitely recommend it to anyone out there searching for a free, reliable and powerful virtualization solution.