Welcome to IT 2.0 :  Next Generation IT infrastructures Sign in | Join | Help

Hardware Virtualization Vs OS Virtualization Vs Application Virtualization

In this article I'd like to touch briefly on the different level of virtualization technologies that I see being discussed lately. I am not going to talk about specific products but I'd rather keep this at an higher level referencing product implementations just as examples. Lately I have been working on a "Virtual Appliance" presentation that I did for an IBM internal symposium and while I was trying to picture the advantages of a "Virtual Appliance" a doubt raised in my mind: isn't this the same concept we are using to describe the benefits of "Application Virtualization"? And the (short) answer is "yes it is indeed". But let's dig into the (long) answer.

Let's start describing the different level of virtualization available today in the market. They are:

  • Hardware Virtualization (a standard OS gets installed on a fictitious piece of hardware)
  • Operating System virtualization (a standard application gets installed on a fictitious OS)
  • Application Virtualization (an application is packaged/shielded to run on a standard OS)

The concept of Hardware Virtualization is straightforward: you cheat your OS so that you pretend to have more hardware resources that you have in reality. So out of a single 4-cpu physical system you could carve out 12 1-cpu virtual servers and install 12 independent standard OS'es as if you were installing these on 12 independent pieces of hardware. Example of products and technologies that implement this concept are VMware ESX, MS Virtual Server, Xen and others.

The concept of Operating System Virtualization might be a bit more cumbersome to understand but yet not rocket science: this time, instead of being the hardware to cheat the OS as in the hardware virtualization model, we move a level above and it's the OS that cheats the Application. So you basically have one piece of hardware, one single "base" OS image that you can "multi-instantiate" if you will in independent containers. This means that, ideally, when you install your application, the application <think> that it is being installed in its dedicated OS but in reality it is being installed in a dedicated environment within a yet shared Operating System image. You could then install incompatible applications on the same box and be (relatively) sure that they will be living in their independent sandboxes. Example of products and technologies that implement this concept are SWSoft Virtuozzo, SUN Solaris Containers and others. Microsoft Windows Terminal Services can be considered another example of Operating System Virtualization although it should be noticed that this solution is more geared towards being able to multi-instantiate an OS to multiple concurrent users rather than being able to create those shields that would allow you to install incompatible applications.

The concept of Application Virtualization is easy. In a nutshell virtualizing an application means re-packaging this application somehow and redistributing this same application under a different shape / format. This new "format" is usually a single big file that gets "copied" on top of an OS and that doesn't need to be "installed". This allows running different and potentially incompatible applications on the same Operating System without each application stepping over each other due to DLL conflicts or registry incompatibilities. This is because these applications are basically shielded and are distributed as monolithic files that contain everything (DLL's, custom registry entries etc). Example of products and technologies that implement this concept are Microsoft SoftGrid, Thinstall and others.

Have you noticed anything?

  • Hardware Virtualization:                  1 hardware -> n OS images -> n Applications
  • Operating System virtualization        1 hardware -> 1 OS image  -> n Applications
  • Application Virtualization                 1 hardware -> 1 OS image  -> n Applications

Apparently OS Virtualization and Application Virtualization are not that different after all. Certainly and granted that they use completely different technologies to implement what they do, the end result appears to be similar: they both make a single OS instance run different, dissimilar and perhaps incompatible applications without any conflict of the sort. On the other hand Hardware Virtualization seems to be different from the other two models. In fact whereas both OS Virtualization and Application Virtualization leverage a single OS instance to support multiple workload, Hardware Virtualization requires you to load multiple OS instances (typically with a 1 to 1 mapping to applications) in order to do the same thing. Apparently.

In fact at the beginning I have mentioned that I have been working on the concept of "Virtual Appliances" for a while now. This concept is intriguing and I will spend a few lines on it. Basically the point behind it is the acknowledgment that a multi-purpose OS (Windows / Linux) has become a very complex stack of software that is supposed to provide, potentially, thousands of functionalities ranging from hardware support, to application API support, from HA cluster to Security, from Backup Services to Network Services so on and so forth. Clearly not all these potentials are required nor exploited in any deployment so most of the time, due to this "1 Application to 1 OS" mapping the standard multi-purpose OS has become a sort of 2GB DLL attached to the application where, most likely, a little portion of this 2GB code is actually used at run time. Not to mention that most of these infrastructure services (hardware support, backup, HA, etc etc) are "draining" quickly into the virtual infrastructure framework leaving this duplicated functions in the Guest OS not even utilized at all. So in short the idea behind this "Virtual Appliance" concept is to re-work the entire datacenter stack so that these infrastructure services are provided by the hardware virtualization layer (and its management tools) and let the application run above it bundled with a <thin OS> included in the same minidisk file.

This sounds interesting. If you have followed the flow it won't take too much to understand that this industry is moving faster and faster to re-write the concept of the OS. In a scenario like the one I tried to briefly depict the concept of the OS is better tied to what the virtual infrastructure does and no longer to what it's included in the virtual machine minidisk. So the hardware virtualization layer is to provide all the OS-like infrastructure services we described above while the virtual machine only have to provide the business logic (to the point where the ISV providing the application will bundle a very tailored and customized minikernel that will allow the application to boot and operate smoothly within a virtual environment). So instead of having a 2GB guest OS + an application you would end up having a few KB/MB thin-OS + an application. This means that, if we consider the hardware virtualization layer "the Operating System" and the virtual appliance the application .... our table would now look different:

  • Hardware Virtualization:                  1 hardware -> 1 OS image -> n Applications (i.e. Virtual Appliances)
  • Operating System virtualization        1 hardware -> 1 OS image -> n Applications
  • Application Virtualization                 1 hardware -> 1 OS image -> n Applications

(If you want to know more about Virtual Appliances, VMware has some good info here: http://www.vmware.com/appliances).

Let's look at a real life architectural example:

 

The picture above is meant to compare a product implementation of application virtualization (i.e. Thinstall) to the concept of a virtual appliance running on a virtual infrastructure. Specifically you can easily see the convergence of the two:

Thininstall Virtual Appliances
Application Application
Thinstall Virtual OS "Tailored" OS
(Windows) Operating System  Hypervisor

Isn't this the same thing with different naming?

So you might wonder at this point why we need to have 3 different models (Hardware Virtualization, OS Virtualization and Application Virtualization) if they do the same thing.... Well in reality they do the same thing but with different characteristics. Closing this thread I'll try to position these three models.

Hardware Virtualization (and the concept of Virtual Appliances) is certainly going to matter more in the datacenter environments where you have heterogeneous back-end services to run and where the infrastructure (i.e. OS) requirements are: security, resiliency and robustness. These OS characteristics are certainly met by the Hypervisor/Virtual Infrastructure concept which would be the ideal platform to run back-end workloads.

OS Virtualization is certainly going to matter more in the datacenter environments where you have homogeneous back-end services. If you want to maintain a certain level of independence between the various service containers but yet leverage a common code base of the OS for easy management this solution might be the right choice. A typical example of where this model can fit is web server farms where you can exploit the advantages of a single OS image supporting multiple but yet independent homogeneous environments.

Application Virtualization is certainly going to be very relevant in the personal productivity (i.e. PC) environments where you have heterogeneous GUI applications to run and where the local end-user OS requirements are: easy of use and flexibility. These OS characteristics are certainly met by the standard Windows XP / Vista experience where you could easily run multiple heterogeneous and potentially incompatible interactive applications.

So, in conclusion, I don't see in the future a stacking use of these three different technologies together to solve a given problem but I would rather see the usage of either one to solve a specific problem given a very specific scenario. My last take is that, depending on the success of the Virtual Appliance concept, the OS Virtualization model might be squeezed to become a niche model given the flexibility that hardware virtualization might provide even for homogeneous deployments which is the primary target for OS virtualization. This would leave hardware and application virtualization the two predominant models to simplify, respectively, the server and client IT stacks.

Massimo.

 

Published martedì 27 marzo 2007 1.16 by Massimo

Comments

# PC Blade Daily Links 2007-04-18 - PC Blade Daily - Practical News and Views on Centralized Computing

lunedì 25 giugno 2007 10.50 by IT 2.0 Main Blog

# (One of) the next big things... &amp;quot;from Servers to Services&amp;quot;

A few days ago I was with a Business Partner at an event where one of the customers presented their own...
mercoledì 8 agosto 2007 23.03 by IT 2.0 Main Blog

# My session at VMworld 2007

For those interested the Session ID is WV27 and the title is &quot;Virtual Appliances and the New Data Center...
lunedì 1 ottobre 2007 9.19 by links for 2007-10-01 « Netweb

# links for 2007-10-01 &laquo; Netweb

# El Geek Errante &middot; El Geek Errante: transmisi??n #17

giovedì 6 dicembre 2007 14.24 by VMblog.com - Virtualization Information

# Virtual Infrastructure Feature Comparison Chart

Thanks to Massimo Re Ferre' for providing the community with this comparison chart, comparing features of the virtual infrastrucuture solutions that are available today for the x86 server platform.  Massimo writes:

Disclosures:

I have limited the

# Virtual Infrastructure products: features comparison &laquo; ICT-Freak

lunedì 22 dicembre 2008 10.21 by application acceleration

# application acceleration

John sums up telepresence from a network perspective, \&quot;Telepresence is an interactive real- time application, which means it is delay sensitive, loss sensitive and jitter sensitive. This sounds familiar: it is just like VoIP, with the one difference

# Just like PuTTy &raquo; Blog Archive &raquo; Virtual Infrastructure products: features comparison

# Xg300 Accessories Buy Hyundai, Model 2001 Hyundai Xg300 Mitsubishi Galant

giovedì 20 maggio 2010 21.12 by G15 Manual Gmc S15, G1500 Retail S15 Jimmy

# G15 Manual Gmc S15, G1500 Retail S15 Jimmy

# Problems 1988 Plymouth Reliant, Sapporo Used Gran Fury Plymouth Reliant

venerdì 21 maggio 2010 3.09 by 280c Top, 280c Discount Benz Brake Caliper Mercedes

# 280c Top, 280c Discount Benz Brake Caliper Mercedes

# Accessories For Lexus Rx400h, Rx400h Used Jobs Lexus Rx 400h

# 325i Projector Headlights Bmw E46, 1994 Bmw 325i Rims Brake Pads

venerdì 21 maggio 2010 9.27 by X300se Supermodel, X300se Model Radeon X1300

# X300se Supermodel, X300se Model Radeon X1300

# Toshiba M35x S161 Motherboard Power Jack, M35 Headlight Aftermarket Infiniti I35

venerdì 21 maggio 2010 12.14 by Glf Video Order, Glf Subaru Outback Wrx

# Glf Video Order, Glf Subaru Outback Wrx

# Suzuki Grand Vitara Prestige Review, X 90 Aftermarket Suzuki Sidekick

# Mercedes Benz S550 Sedan Lexus Ls, Cls63 Amg Rent Cls550

# Celebrity Lamp Made Aviator Glasses, 2004 Lincoln Aviator Performance Parts

# 1968 Mercury Marquis Colony Park, 1988 Radiator 1986 Mercury Grand Marquis Colony Park

venerdì 21 maggio 2010 23.11 by 250sl Engine 1969 Mercedes Benz, 250sl Auto Pagoda

# 250sl Engine 1969 Mercedes Benz, 250sl Auto Pagoda

# Sold 1997 Dodge Avenger, Headlight 1996 Dodge Avenger Timing Belt Windshield Wiper Motor

# Chevrolet Citation Ii Parts Oxygen Sensor Fuel Injector, Chevrolet Citation Intravenous Sale

# 164 Replacement Number Xml Version 1.0 Encoding, 164 Volvo Fog Light

# R30 Rent Anna Maria Island Beach Cottages, Par30 Led Light

# L300 3 Replacement Auto Body, L300 Parts Substitute

sabato 22 maggio 2010 12.38 by 1967 Cougar, Cougar Club Imdb

# 1967 Cougar, Cougar Club Imdb

# Squareback Aftermarket Forums, Volkswagen Squareback Engine Head Gasket

# Mitsubishi Mighty Max Auto Zone, Performance Parts Tonneau Covers Mitsubishi Mighty Max

# Cougar Lynx Canadensis Couguar, 1988 Sale Used Mercury Cougar

# Hyundai Scoupe Tube Wiper Blade, Hyundai Xg350 Car Parts Brake Pads

sabato 22 maggio 2010 15.06 by Discount 264 Convert Video, 264 Wholesale Hats

# Discount 264 Convert Video, 264 Wholesale Hats

sabato 22 maggio 2010 15.28 by Great Barracuda World Indo Pacific, Barracuda

# Great Barracuda World Indo Pacific, Barracuda

sabato 22 maggio 2010 15.32 by 1973 Chevy Luv Disc Brakes, Luv Hud

# 1973 Chevy Luv Disc Brakes, Luv Hud

# Baja Coolant Our Replacement, Bajaj Pulsar 200cc Wallpapers

# Tickets Sale Used Chevrolet Trailblazer, Trailblazer Aftermarket Ford Parts Cold Air Intake

sabato 22 maggio 2010 16.26 by 2001 Escape Review, Ford Escape Radiator Fandango

# 2001 Escape Review, Ford Escape Radiator Fandango

# C25 A2550 Pickup Distributor, Watchguard 550e User Guide

sabato 22 maggio 2010 17.39 by 1994 Dodge Dakota Auto Parts, Dakota Cap Promote

# 1994 Dodge Dakota Auto Parts, Dakota Cap Promote

sabato 22 maggio 2010 18.10 by Se300 Part Type, E300 Deck All Products

# Se300 Part Type, E300 Deck All Products

sabato 22 maggio 2010 20.10 by Hv30 Used Canon Hv20, Game V20

# Hv30 Used Canon Hv20, Game V20

# Mpg Hyundai Elantra Touring, Azera For Sale Models Hyundai Elantra

# Discount Syclone, Gmc B Syclone B Grille Sonoma Gt

# Toyota Camry Car Seat Cover, Toyota Tacoma Sale Maine Camry Solara

# 350sl Pagoda Roof 560 Sl, 350sl Motors - 422.tijuanareader.com

# Ventura Parts Repair Yourself, Ventura City Achieving Our Vision E Newsletter - 434.luna-atra.net

# Mourning Becomes Electra Husband, Part 1961 Buick Electra Vinyl Top - 158.tgrconversions.com

# Bmw 318i Fuel Consumption, 318i Flowmaster - 411.1fh.org

# Mitsubishi Mirage Aftermarket Body Kit, B Mitsubishi B B Mirage B Body Kit Front Bumper - 296.dlmreza.net

# Order Eagle Premier Chrysler, Adobe Premiere Video R?ckw?rts - 169.zapstreaming.com

# 510 Shocks, 510 Replacement Atomizer Joye - 288.tgrconversions.com

# K10 Pickup Replacement 1969 Chevrolet, Diesel Pickup Harley Davidson - 175.akemet.com

# 260z Restoration Datsun 240z Daily Driver, Nissan I 350 Datsun 240z - 436.myipgirl.com

# Patriot Light Sport, Jeep Patriot Headlight Covers Headrest Monitors - 470.codebluehacks.org

# Avenger 200, Used Dodge Avenger 2005 - 431.dlmreza.net

# Nissan Xterra Oxygen Sensor, Radiator 2004 Armada Nissan Xterra - 495.tijuanareader.com

# Ford E 550 Super Duty Part, 1972 Vw Super Beetle Tires - 272.an74.com

# Ls400 View, Volvo S40 Parts Catalytic Converter Oxygen Sensor - 320.an74.com

# Mapquest Bumper Data, Quest Knox Serviced Apartments - 5.an74.com

# Sale Utah Mazda Protege5, Protege5 United States Map - 40.dlmreza.net

# Vega Aftermarket Bob Baker Chevrolet, Lincoln Mark Vii Wheels Bill Blass - 350.codebluehacks.org

# Scamp Model Research Center, Scamp Radiator Amazon - 468.ja3ra.com

# 1974 Mercedes 220, Screaming Meanie 220 Alarm Clock - 297.computeronlinebingo.com

# Key Biscayne Tennis 2010, Part Cape Key Biscayne - 220.tijuanareader.com

martedì 25 maggio 2010 22.44 by 325es Bulb Record, 325es Lisbon - 318.eumreborn.com

# 325es Bulb Record, 325es Lisbon - 318.eumreborn.com

# Critiques Fairmont Monte Carlo Le Meridien Beach Plaza, Fairmont West Virginia Marion County - 152.rkwrh.com

# 560sec Part Used Mercedes Benz Wheel Research In Motion, 560sec Replacement Compare Wheel Bearing - 228.tijuanareader.com

# 1995 - 1998 @ Torrent Blazer, Pontiac Torrent Good Car - 269.binggreen.com

# 1990 - 2005 @ G20 Van Seating Chart Sarah Brown, G20 Van Radiator Core Finder Truck Parts - 212.binggreen.com

lunedì 9 agosto 2010 20.46 by Wariabive

# Bosski Atv Trailers

you interesting people
In it something is also idea excellent, I support.
[url=http://travel.fastlink.in/55/index.html]ukt4 magneta trailers G[/url]

We will not miss you

# Grill restaurant - Grill restaurant - Baja fresh mexican grill restaurant

# (One of) the next big things&#8230; &#8220;from Servers to Services&#8221; - IT 2.0

mercoledì 18 agosto 2010 13.31 by IT 2.0 » My session at VMworld 2007

# IT 2.0 &raquo; My session at VMworld 2007

Anonymous comments are disabled