Hardware & Software
Hardware & Software Blog

The Four Flavors Of Virtualization: A Primer

April 24, 2008
By John Sloan, Courtesy of Info-Tech Research Group


All virtualization technologies are NOT the same. Each of the four flavors of virtualization does different things and solves different problems





Adapted from an Info-Tech Research Group Technology Insight Report: Peeling the Virtualization Onion Without Tears, published March 6, 2008.
Get the original report, including explanatory virtualization graphics!



John Sloan

Virtualization is a trick.

A tremendously useful trick, of course. One that fools software or hardware into thinking it is dealing with "real" software or hardware, when in fact it is interacting with an abstract, or virtual, representation of that virtual representation of that software or hardware.

That's confusing enough, but there's more. The term virtualization encompasses several different abstraction technologies, depending on where in the software/hardware stack this abstraction trick happens:

  1. Hypervisored or virtual machine virtualization (e.g., VMware, Citrix XenSource, Virtual Iron)
  2. Operating system virtualization (e.g., Virtuozzo, Solaris Containers)
  3. Application virtualization (e.g., Microsoft SoftGrid, VMware Thinstall)
  4. Presentation virtualization (e.g., Citrix Presentation Server, Terminal Services)

No matter what form of virtualization you're talking about, though, the technology is always in the service of two primary goals:

  1. Application Isolation. This means that applications or groups of applications operate in their own virtual bubble and are not affected by configuration issues or contention with other applications. Applications in a virtualization solution don't "see" the physical hardware directly nor do they see other applications that might be sharing the physical hardware. This isolation is often referred as abstraction or decoupling.
  2. Hardware Utilization. Isolating an application or stacks of applications means that more applications can run together on a given piece of hardware. For example, virtualization breaks the one-app/one-OS-per-machine equation of traditional distributed x86 server architecture. Multiple applications and operating systems run on a single piece of hardware, increasing the utilization of that hardware while reducing the total number of physical boxes required.

A closer look at each flavor of virtualization reveals how it addresses those goals.

Machine Virtualization
In machine virtualization, the abstraction layer is called a hypervisor and it sits between the physical hardware and an operating system. The hypervisor tricks an OS into thinking it has sole access to physical hardware when it fact, multiple operating systems are accessing the same hardware.

Each virtual representation of the hardware is called a virtual machine, or VM. Each VM can support not only a different OS but also a different kind of OS. For example, one physical server can support both Linux and Windows virtual machines.

OS Virtualization
In machine virtualization, a hypervisor does the trick of making a single piece of hardware appear to be multiple machines for multiple operating systems and application stacks. In OS virtualization, the abstraction moves up a layer. A single operating system now appears to be multiple independent operating systems to each of the separate applications. While a hypervisored VM operating system "thinks" it has sole access to a machine, the virtualized OS application thinks it has sole access to an operating system. One advantage of this approach is that you need to manage only one operating system for multiple application instances.

Application Virtualization
Application virtualization is similar to OS virtualization in that each virtualized application interacts with its own virtualized operating system interface. However, whereas OS virtualization partitions a parent operating system, application virtualization provides a completely independent virtualized container for the application. Each virtualized application runs within its own virtual bubble. In a typical application virtualization scenario, applications are stored and maintained centrally and "streamed" from a parent server to the desktop where they run independently of other applications. Those other applications may also be virtualized instances or they may be "regular" nonvirtualized apps running on the system OS.

Presentation Virtualization
Traditional desktop virtualization --- presentation virtualization -- is different from other forms of virtualization in that the abstraction layer occurs not between layers of the computer system, but between the user and the system. In this case, users interact with virtual applications as if they were running on their PC desktops when it fact they are hosted and operating elsewhere.

Increasingly, however, presentation virtualization is being combined with other forms of virtualization. For example, in virtual desktop infrastructure, machine virtualization is used to host multiple virtual Windows XP or Vista machines on a host server. Each virtual PC is accessed by a different user via Remote Desktop Protocol clients.


Next Page: Different Forms of Virtualization Address Different Pain Points

1 2  Next Next




 


Browse by Category

IW SMB Tech
Term Of Day:

Boost your tech
vocabulary!
InformationWeek SMB's
TechEncyclopedia
defines more than
20,000 IT terms.



FREE Technology Services Locator!

Search our database of 200,000 solution- provider locations by business activity, technology, vertical market, and customer size. Find a technology partner NOW.

go