Virtualization Technologies:
The Virtualization Continuum: Deploying Virtualization Together
There are a variety of virtualization technologies available and the lines are becoming blurred between the different types. When is it appropriate to use one type of virtualization technology? Is it beneficial to use multiple types of virtualization technologies together? As virtualization becomes more pervasive in the datacenter, organizations are deploying multiple technologies. A significant trend is using complementary types of virtualization technologies together to provide an even stronger and more robust solution and ROI for the IT organization.
This whitepaper defines the different types of virtualization and explores the relationship and potential benefits of blending two types of virtualization, in particular: application and OS virtualization using Citrix and Virtuozzo.
VIRTUALIZATION TECHNOLOGIES
While this is not an exhaustive list, arguably, the most important types of virtualization being deployed today are: hardware virtualization, para-virtualization, OS virtualization and application virtualization.
Hardware Virtualization
Hardware Virtualization technologies, Virtual Machine Monitor or Hypervisor are different names for essentially the same technology. The most common examples of hardware virtualization are VMware, Microsoft Virtual Server and Parallels. This virtualization technology is known as hardware virtualization because everything from the hardware up is virtualized. The diagram in figure one shows the hardware virtualization technology. Building from the server up, you see they hypervisor layer (which is a modified Linux kernel) and then the VMM layer. The virtual machine monitor virtualizes every piece of hardware on the server, from CPU to memory to video cards. In the virtual machine, there is a guest OS, and finally the application or workload.
Hardware virtualization technology is powerful because it enables any operating system to run side by side on the same server. The flexibility of this architecture comes with some drawbacks, it has duplicate layers of processing: two layers of OS ( the hypervisor and the Guest OS). It also has two layers of hardware: the real hardware and the virtual hardware. These duplicate layers add additional processing and make it difficult to run production high I/O applications. Another drawback is manageability. With hardware virtualization, you’re actually increasing the number of OSs that you manage.
In the pictured example the IT administrator manages four OSs: the three guest OSs and the hypervisor layer. Many organizations that have deployed this type of technology have noticed that over time their issue of hardware sprawl hasn’t been resolved, it has been replaced with a new issue OS or VM sprawl. It is so easy to deploy a new virtual machine, they are deployed more rapidly with more configuration variations and the resulting datacenter becomes an even bigger challenge to manage.
Paravirtualization technologies
Paravirtualization is a variation on the hardware virtualization technology concept. The technology itself is intended to accomplish the same outcome as hardware virtualization: the ability to load multiple operating systems on the same physical server. Paravirtualization recognizes and attempts to overcome the inherent performance challenges of hardware virtualization. The most well-known example of paravirtualization is Xen. To address the performance limitations, Xen uses modified OSs on top of a hypervisor, or virtual machine monitor. Paravirtualization has better performance compared to emulation, but the disadvantage is that the “guest” OS needs to be modified.
OS Virtualization
OS Virtualization creates multiple isolated partitions or virtual environments (VEs) on a single physical server and OS instance. Building from the bottom up on the diagram (Figure 2), the hardware and the OS are standard.
This is one of the benefits of the technology, all of the software, hardware, driver technology and advances are merely leveraged by the virtualization layer rather than recreated. Using existing technology enables fast support for technologies such as multi-core, and it also ensures that there is no performance degradation through rewriting drivers and other proprietary information. Next the virtualization layer controls the resource management, scheduling and isolation required by the virtual environments.
Finally, the virtual environments themselves contain mere links back the standard OS, and simply contain the application or workload. This architecture is unique in that it does not introduce multiple layers of processing (rather than using real and virtualized hardware) and it only uses a single OS (rather than a hypervisor modified Linux and a guest OS).