Virtualization is a wonderful technology that has a long history and many different faces which often make it a confusing topic. In my last article
I introduced virtualization as a concept and defined it as "a way to separate technologies from one another." Today I will take the virtualization definition further and provide an introduction to the primary types of virtualization. Understanding the primary types of virtualization will allow for a better grasp of virtualization as a whole and make discussing where and how to use the technology much easier.
Using hardware or software, hardware virtualization is the separation of: hardware from hardware or hardware from software.
In the datacenter world, a growing trend for several years has been the use of blade servers, which use a type of hardware virtualization. If you look at the back of a blade server you will usually only see a power connection and a big block of copper connections. But when you use a blade server you still have access to network interfaces through the use of hardware virtualization which can emulates a NIC and pass the traffic through switches in the back of the blade enclosure. 1
On most servers, including blade servers, you will usually be hard pressed to find a CD or DVD drive - which could make it hard to install an operating system. Vendors instead provide a way for administrators to mount a virtual drive that allows them to install an OS while not even in the same room as the server. This is software based hardware virtualization.
Examples of other hardware componenets you can virtualize: routers, switches, processors, hard drives and even wireless adapters.
Operating System Virtualization
Using software, operating system virtualization is the separation of: an OS from hardware or an OS from an OS. 2
Operating system virtualization relies on software, generally called a hypervisor, to create a container of virtual hardware (called a virtual machine or "VM") and allow an operating system to be installed and run inside it.
Some virtual operating systems do not rely on hypervisor software but instead can be ran inside your web browser
Using software, application virtualization separates an application from an operating system.
Some operating system vendors change the underlying structures of the OS with each major release and when users upgrade to the new OS they may find that older software may no longer work. By using application virtualization (a vendor may also call it "compatibility mode") software can make the older application to behave as though it was running on the older OS, thus allowing it to function correctly.
Another type of application virtualization may present a user with a traditional interface such as with a word processor or spreadsheet software on their desktop but have the actual application running on a server thousands of miles away.
A type of application virtualization that is starting to become more popular recently is allowing a traditional application to run on a system without it being installed, while all of the data to actually run the application is streamed over a network.
Using hardware or software, data virtualization is the separation of: bytes from blocks or blocks from hardware. 3
Data deduplication is a popular method of data virtualization which can reduce the use of space on a storage device by only storing unique bytes or blocks. If a copy of data is created by a user or application, with data virtualization, the whole file will not be saved again but will instead record a pointer back to where the original data is.
The four types of virtualization defined here are not meant to be all inclusive and usually the different virtualization types are used together, sometimes even nesting in themselves (like virtual hardware running on top of virtual hardware) to provide solutions. In future articles I will discuss each of the types of virtualization in more depth, including ways of using them.
I would love to hear your thoughts on my interpretations of virtualization, if you have any feedback please find my contact information on the right.
Not all blade servers use this type of hardware virtualization. Some blade servers do have a physical wired connection to network interfaces in the back of their enclosure, usually called pass through interfaces.
Operating system virtualization can also be thought of as separating software from hardware or software from software, as an operating system is a piece of software. Because of this I thought of combining operating system and application virtualization in to one type called software virtualization, but the way these technologies work is different which I will discuss in the future (and will link to here once I do so).
In storage virtualization blocks may not be used and instead replaced with extents. Which means storage virtualization could also be the separation of bytes from extents or extents from hardware.
Written by Eric Wamsley
Posted: January 4th, 2012 11:03pm