Taking a different tack on virtualization, Parallels Virtuozzo Containers virtualizes at the OS level, lowering overhead and improving performance. The trade-off is flexibility: All containers must use the same OS. Nevertheless, this product is an excellent virtualization solution. It's the fastest solution available for deploying new virtual environments and is an especially good choice for hosting providers.
Parallels Virtuozzo Containers 4.0 takes a different tack on virtualization. Unlike VMware’s ESX Server or Microsoft’s Hyper-V, which virtualize the hardware level, Parallels Virtuozzo Containers virtualizes at the OS level. This approach has both advantages and disadvantages over the more widespread hardware virtualization solutions. On the plus side, OS virtualization offers lower overhead: It provides very good performance and uses fewer host resources. All containers (Parallels' term for virtual machines—VMs) share the same OS level—there’s no need for an extra level of hardware virtualization. On the downside, OS virtualization decreases flexibility because all containers must use the same OS—different containers can't run different OSs or have different hardware configurations. I hadn’t used Containers before and was really interested to see how it compares to the likes of ESX Server and Hyper-V.
Requirements and Installation
On the hardware side, Parallels Virtuozzo Containers 4.0 for Windows can run on all the processor architectures: x86, x64, and IA-64. On the software side, the product requires Windows Server 2003. Containers is compatible with Windows Server 2003 Standard, Enterprise, and Datacenter editions with SP1 or higher for both the x86 and x64 architectures. Notably, Containers 4.0 does not support Windows Server 2008.
I tested Containers 4.0 on a Windows 2003 Enterprise Edition system running on a 2.4GHz Intel quad-core processor with 4GB of RAM, two 1GB Ethernet adapters, and 500GB of disk storage. The installation process installed the the Parallels Management Console (PMC) as well as the virtualization software. Installation was lengthy and required multiple downloads plus switching back and forth between the Windows 2003 installation media and SP1 media. After recommending a list of Windows hotfixes, the installation downloaded a series of updates to the Containers software. Next, it prompted for the service pack media, then the original Windows 2003 media. Finally, it asked for an installation key and rebooted.
It's All About the OS
Parallels Virtuozzo Containers
Pros: Excellent performance; intuitive management console; quick deployment via templates
In contrast to the time-consuming installation, using the PMC to create new containers was quick and easy. The PMC was responsive, full-featured, and intuitive. The top portion provides host management and performance information, and the Virtuozzo Containers node, shown in Figure 1, lets you create and manage containers.
Creating a container is analogous to creating a VM, but because each container is a virtual OS, you can configure all the important OS properties when you create the container. For instance, you can set the host name, administrative password, and IP address as well as enable remote desktop administration and Terminal Services. I really liked the way you can create multiple containers at one time—it made deploying new containers a very quick process. Because a container is a virtual OS, the container is ready to go as soon as it's created. There’s no need to install an OS or even applications (I'll say more about that later).
In addition to letting you create containers from scratch, the PMC lets you perform physical-to-virtual (P2V) imports from other systems that are running the same OS. You can manage containers by using either Remote Desktop (which is what I typically use anyway) or Parallels Power Panel.
Containers' use of templates sets it apart from other virtualization solutions. I found the templates features to be a huge productivity boost. Containers lets you have templates for both your base OS configuration and your applications. When you create a new container, you select the base template for the container and optionally select from the available application templates. Selecting one or more application templates makes those applications available in the container immediately after the container is created—there’s no need to install the application separately, and that really speeds up container deployment.
Out of the box, you get one OS template, which is created automatically from your original installation, and one Microsoft SQL Server 2000 Desktop Engine (MSDE) application template. I found the use of MSDE as the application template to be outdated. These days I would have expected a template for SQL Server 2008 Express or Microsoft SharePoint. However, the preinstalled template did provide a good example of how application templates work and how they can be applied.
As you'd expect from an OS virtualization solution, container performance was very good. Running five active containers didn’t seem to tax the system at all, and response time in all the containers was very close to response time on a native physical system. Containers offer the same types of enterprise features that are in competing virtualization products, including support for host resource governing for CPU, RAM, and network utilization; support for Windows failover clustering for high availability; P2V importing; and container cloning.
Help for the product is HTML-based and well organized, but somewhat too superficial to be truly useful. For example, the Managing Templates section had no information that I could find on how to create an application template.
An Excellent Solution
In the wake of the big splash of virtualization products from VMware and Microsoft, products such as Parallels Virtuozzo Containers can be easily overlooked. And that's a shame, because Parallels Virtuozzo Containers 4.0 is an excellent virtualization solution. Its ability to use container and application templates combined with the low system overhead required by each container makes this product an effective solution when host resources are limited or when you need good performance. The Templates feature easily makes Parallels Virtuozzo Containers the fastest solution available for deploying new virtual environments and an especially good choice for hosting providers.