Solution provider takeaway: Solution providers offering server virtualization products and services should develop OS virtualization expertise in addition to hypervisor expertise.
Virtualization isn't just an industry trend -- it's a tidal wave. Riding high on that wave is the move toward virtualizing x86-based systems, due to their ubiquitous nature: They're in every data center; they run well-known workloads; and they are woefully underutilized, at about 5% average CPU utilization. Moreover, they multiply like rabbits -- though they require far more resources than rabbits do. Unlike our furry friends, who just need a handful of food pellets tossed their way occasionally, servers need to be powered, cooled and housed indoors. All of this makes x86 systems very low-hanging fruit for virtualization.
Most customers -- and even many VARs and integrators -- are aware of only one type of virtualization for x86 workloads: the hypervisor model popularized by VMware, Xen and now Microsoft. But there's another virtualization model that is ready for prime time in data centers large and small: operating system (OS) virtualization.
In the hypervisor model, the hypervisor is loaded directly onto the bare server. This layer of management/monitoring software allows a single server to run multiple operating systems -- virtual machines -- each of which hosts a single application. The hypervisor is tasked with parceling out system resources (CPU, memory, I/O) to various guest operating systems and applications, and it needs to make sure that no application can access or disrupt any of the other guests. If you compare it to a PC, it would be like having a laptop loaded up with one instance of Windows to run Word, another instance to run Excel and yet another to run PowerPoint. That's a lot of instances of Windows.
Operating system virtualization is quite different: In that model, the OS virtualization layer sits on top of a host operating system (typically Windows or Linux in the x86 world), creating containers that each house an application or workload. Each container behaves like a separate server. This is more like the modern PC; there's one instance of Windows running Word, Excel, PowerPoint and so on.
While this model is new to x86 systems, it has been around for a long time -- for decades on the mainframe. In fact, it's the main virtualization technique for mainframes. It's also a feature of every current Unix operating system, including Sun Microsystems' Solaris operating system, which runs both on RISC- and x86-based systems.
There are advantages to OS virtualization. First, it can be much less resource-intensive. Typically, OS virtualization overhead is anywhere from 1% to 4%, depending on the number and type of applications on the system. For hypervisors, overhead generally begins at about 2% and can range as high as 25%, again, depending on the number of partitions and application type. All virtualization comes at a cost, but the OS virtualization method usually takes much less system power for housekeeping, meaning more cycles can be devoted to applications.
OS virtualization is also easier to manage. Your customer's IT department has only one instance of the operating system to maintain and patch per server, instead of multiple instances sitting on each hypervisor.
It is also more nimble, offering more flexible and granular allocation of system resources. Memory, processor shares and I/O can be changed on the fly, automatically, without rebooting or disrupting any applications. While hypervisors can do some of this, OS virtualization is generally more granular and offers more high-end scalability.
Applications under OS virtualization can span to an entire machine of up to 16 physical sockets; current hypervisors are limited to four physical sockets per single virtual machine. In addition, some applications, particularly databases, can be problematic when running on the hypervisor model.
Parallels (formerly SWsoft) is the established player in this market, with its Virtuozzo product. Librato (formerly Evergrid), offers Librato Load Manager, a scheduler that allocates system resources with no modifications to the OS or applications required. Virtuozzo and Librato can virtualize both Windows and Linux operating systems and applications. Sun's Solaris x64 also has OS virtualization with its Solaris Containers feature, but it requires special versions of applications that have been ported or recompiled to run on Solaris x64.
VARs should have OS virtualization expertise in their tool kits. In many cases it is a more efficient solution and helps customers get more bang for their virtualization buck. It isn't a replacement for hypervisor technology, it's complementary. Each technology has its place. Hypervisors give data centers the ability to run different operating systems on single systems, at the cost of significant system overhead and additional management effort. OS virtualization allows users to run multiple applications on single operating system instances, which makes more efficient use of the system, but at the cost of having to combine applications by the OS version they can all run under. Each model has unique advantages and limitations, and to fully realize the benefits from their virtualized data centers, customers will eventually need to utilize both the hypervisor and OS virtualization models.
About the author
Dan Olds is the founder and principal analyst at Gabriel Consulting Group Inc., an IT analyst and consulting firm based in Beaverton, Ore. Dan is always interested in hearing from users on topics including virtualization, servers and vendor support issues. You can email Dan at firstname.lastname@example.org.