The open source Xen virtualisation suite has caused a bit of a stir within the Linux world because it combines the power of VMWare without the proprietary code and cost hassles. Unfortunately Xen is not the most user friendly thing in the world to setup or configure. For a large organisation this is not so much of a problem because they can afford to hire expensive consultants or train their in-house staff. For smaller players or individuals interested in the concept but unwilling to invest hours into training XenSource have released XenExpress.
XenExpress fits on a single CD and can be downloaded without charge from the XenSource website (they do however ask for a few contact details). To setup your very own Xen host you just boot the computer from the CD, answer a few configuration questions like time and network setup and then just sit back and watch as XenExpress turns your computer into a fully functional Xen platform (for further instructions checkout this howto). After installation is complete configuration of the Xen host occurs remotely via a Java desktop application that runs on Windows, Linux or after a little hacking OSX. Most of the basic Xen tasks like virtual instance management and system maintenance can be accomplished through the interface without much effort or reference to the user guide. If you are an advanced user you can also bring up a terminal on the Xen host and run your normal Linux commands as at its heart XenExpress appears to be a slimmed down Red Hat distribution.
XenExpress is a free product and as such it is digitally handicapped when compared to its more expensive siblings. From a hardware perspective only 4gig of RAM is supported which limits the number of simultaneous instances that can be run. At the software level only Debian, Windows and Red Hat instances can be installed from scratch whilst existing Suse Enterprise 9 servers can be migrated onto the server (but not created from scratch).
Installation of a Debian instance is the easiest option as a base copy of the OS is installed on the server ready to use. This means after a couple of mouse clicks and a few minutes waiting a Debian instance will be installed, booted and ready to use. For a new user who just wants to experiment with what virtualisation is all about this functionality is excellent. Experienced users will soon find limitations with this approach but their needs are better meet by the XenServer and XenEnterprise software packages. On a side note existing installations of XenExpress can be upgraded to XenServer through the purchase of a license key which means one can easily shift prototype boxes into production should the need arise without a complete reinstall.
In order to run Windows XP SP2 or Windows 2003 you must be using an HVM compatible processor. This rules out Windows virtualisation on anything except for the latest hardware but still its great that such functionality is available in the open source world these days. Another drawback of XenExpress is that it only supports network installations of Red Hat Linux. This means that if you want to run up a Red Hat instance you must first copy your CD media to an FTP or SMB share. This is not a huge pain but it would be nice if you could just install from CD especially given the target market for XenExpress is the casual user. Although I did not try it my guess is Centos will also install using the Red Hat template which means you can run a commercial grade Linux distribution without the commercial licensing fees.
I was really impressed by XenExpress as it made the process of setting up the base Xen host quick and completely painless. I did experience one problem on my test box which was the DMA support was not enabled on the IDE drives. Hopefully these teething pains will be cleaned up as the product matures as things like this will put new users off the product and virtualisation. The XenExpress client interface was very good and quite snappy, I especially liked the fact it combined Text Console, Graphical Console (VNC) and server statistics into a single, well laid out control panel. One major limiting factor with the XenExpress client interface is that is designed to work with a single server rather than operate at a cluster level. Whilst this is limiation is not present in the XenServer and XenEnterprise packages still it would be nice to have the ability to monitor and manage two servers in XenExpress. Going even further it would be really nice to be presented with the option to easily migrate Xen instances between these two servers (through seamless export/import). This would allow even inexperienced users to begin to appreciate the true power of Xen (and hypervisors in general) which is its ability to completely differentiate hardware decisions (i.e. upgrades and retirements) from the operating environment.
At the end of the day XenExpress won't suit you if you are looking for a highly customisable Xen server platform. If on the other hand you are an curious home user or someone looking for a quick and easy way getting into virtualisation then XenExpress is in my view the best way of getting your feet wet. You won't be presented with hundreds of options and in less time that it takes to read and understand the Xen documentation you can have a Xen host with a couple of Debian instances up and running ready to play with.