When I first came across Virtuozzo Containers 3 a couple of years ago, virtualisation was just beginning to become popular. With the advent of version 4, and of course the massive push so many organisations are making towards virtualisation, now seemed the time to look at the new version of the beast.

Traditionally, virtualisation has been achieved simply by plonking an emulator on top of an operating system, and then plonking another OS on top of the emulator. These days the approaches are much more elegant and efficient, with VMware and Xen/Citrix both moving toward having a "thin" operating system under the emulator instead of a socking great OS.

Virtuozzo Containers takes a different approach, though - and a really very cunning one. It sits on top of a full OS implementation (either Windows or Linux), but rather than presenting virtual machines hosting full "guest" operating systems, it instead simply virtualises the operating system as collections of virtual links. So you only have one copy of the OS installed, and then you define "containers"; each container is a partitioned set of links to the underlying OS APIs and drivers, which lets a number of separate virtual "containers" use a single underlying OS. This means that each container takes up just a few megabytes, as it's not a full OS install; it also means that it takes only a few seconds to add a virtual machine to your server, because all that's involved is making another set of the aforementioned few megs of links.

Virtuozzo runs on Windows (notably WS2003) and Linux (CentOS, Fedora, RHEL and SuSE). Because the "guest" operating systems are just links to the real OS, you can only run Windows virtuals on Windows and Linux virtuals on Linux - but that's really not a problem. Both the Windows and Linux versions run on 32- and 64-bit hardware. Additionally, the Linux 64-bit version can present both 64- and 32-bit virtual entities, while for the moment the 64-bit Windows version can only present its virtuals as 64-bit entities.

To install the system, you obviously need to begin with a suitable host OS. Then you run through the installer, which holds no requirement for a rocket science degree but which does take a while to download patches and updates once the basic package has been installed. Part of the setup process on the Windows version involves the installer configuring some "template" containers, to do which it asks you for the Windows Server CD; we found that it was very unhappy using a virtual CD via an ISO image; copying the files to a folder solved the problem, though.

Once everything's installed, you have two ways to manage Virtuozzo. Option 1 is the Management Console desktop application; option 2 is the new browser-based Parallels Infrastructure Manager ("PIM"), which in fact is the main new feature of the product. Both are completely platform agnostic - that is, you manage your Windows and Linux hosts from the same screens, using the same concepts and wizards. Parallels is making a big deal of the PIM interface, touting it not so much as a Virtuozzo management tool but as a general tool for managing your entire virtual server world - including VMware and Hyper-V. And in fact, we've seen a version of PIM that can also manage servers running Parallels' other virtualisation products. All of the above is for future release, though; the version we actually used in our lab was a Virtuozzo-only tool.