If you have read a trade magazine, blog or talked shop with any technology person lately there is no escaping the virtualization topic. In past articles I introduced virtualization as a concept
and the primary four types of virtualization
; in this article I will introduce the more popular type of virtualization: pairing hardware and operating system virtualization. First I will cover what the two types of virtualization are, then discuss how they work together and finally provide some examples of how and why you would use them in your environment.
Previously I defined hardware virtualization as a way to separate hardware from hardware or hardware from software. In addition to separating hardware, hardware virtualization can modify the properties of the virtualized hardware so that it functions differently from its host hardware.
A wonderful example of hardware virtualization which demonstrates hardware separation and property modification is using hardware virtualization to virtualize a processor (or CPU). If the host hardware processor is a new generation processor it may have a different architecture that is not compatible with older technology, such as an old application, and could cause it to perform poorly or crash. By using the capabilities of hardware virtualization a processor could be virtualized and configured as an older processor type, allowing compatibility with older software while still taking advantage of faster speeds and efficiency improvements of the new processor.
Virtualizing processors has been performed for decades on mainframes, servers, PC's and even video game consoles. In the popular method of virtualization, processors, along with memory (RAM), hard drives and network adapters (NIC) are virtualized and placed together in a container called a virtual machine (VM). A virtual machine can be used in conjunction with operating system virtualization to run a fully functional server or desktop.
Operating system virtualization separates the OS from hardware or other operating systems with software usually called a hypervisor. When an OS attempts to use hardware, such as writing a file to a hard drive, the hypervisor monitors the interaction between the OS and hardware and has the ability to allow, deny or modify the interaction. Different hypervisor vendors use different methods when handling interactions and this can directly impact the performance of a virtual system, which I will discuss in a future article.
An example for how a virtual OS could have its interaction modified is when the OS is writing to a hard drive the hypervisor may decide that the OS should not be able to write more than a certain amount of data per second, so it could limit the write speed of the OS. With the ability to manage operating system and hardware interaction through operating system virtualization and by pairing it with hardware virtualization the two technologies can provide a powerful solution for technology centers.
Though it is hard to remember, there used to be a time when it was common for servers to have only one processor and one gigabyte of RAM. Tens to Hundreds, and sometimes thousands, of servers would have to be used in parallel in large organizations to process information. As hardware has become faster and denser it has allowed for single systems to be created that can have dozens of processors and hundreds of gigabytes of RAM, permitting a single system to perform the work of many, sometimes even more efficiently.
Organizations began to realize that the continual increase of hardware capacity, efficiency and speed led to the majority of systems sitting idle in their datacenters. The smart people found that by using the technologies described above it was possible to condense their datacenters by one or even two orders of magnitude and still complete their workloads.
Consolidating servers in the datacenter can reduce the physical space required to house all of the systems. It is not uncommon to shrink five or six racks (around 150-200 servers) into one rack! Reducing such a vast amount of hardware in the datacenter also can lower the frequency of hardware failures and lower the amount of physical administration that occurs, allowing personnel to focus on more projects or increase the quality of projects.
Shrinking the amount of hardware assets in the datacenter could also lower air conditioning load thus lower power consumption costs. Some organizations have also seen a smaller electricity bill because of newer hardware technology being more energy efficient.
When the amount of hardware on hand is decreased hosting charges with leasing facilities that charge based on physical space consumption will also go down. If the building is owned by the organization that also owns the servers the newly freed space could be renovated to a different purpose, like offices or training rooms. Operating expenses reduced, personnel doing more work and new revenue generated? Thanks virtualization.
If those reasons are not enough to get virtualization discussions started at an organization then here are more direct capabilities of virtualization. My personal favorite feature is the ability to move a VM and its guest from one physical server to another, sometimes even while it is powered on, without interruption or any effort besides a click of a mouse. Migrating a virtual system makes it possible to perform hardware maintenance without impacting services, even if changing hardware vendors. What is a maintenance window? I forget.
In the event of hardware failure it is even possible to make those migrations automatic, often bringing the virtualized systems online before the administrators even know there is or was an issue. When uptime is of the utmost importance it is possible to tie in the failover ability with other resilient features that might be more cost effective and reliable than traditional no-stop or clustered systems.
In the right situations hardware and operating system virtualization can be tied together for a major win. Virtualization can reduce many expensive operating costs while increasing availability, personnel efficiency and their happiness (what maintenance window?) with many features and capabilities. While I do not want to overload you, dear reader, with the many exciting attributes of virtualization there are still many other wonderful features not mentioned but will be in future articles.
*A small disclaimer*
I made sure not to name any vendors or specific technologies in this article so that I could discuss the many wonderful opportunities that virtualization presents, not to mention stay neutral. Everything that I described on this page is completely feasible and possible, but not all virtualization vendors support or provide all of the features mentioned. Please do your research before purchasing or committing to a technology - I take no responsibility in poor technology choices or burned bridges and any communication that says otherwise will just provide an avenue for jokes over evening beverages.
Virtualize your thoughts and send me some feedback, you can find my contact information on the right.
Written by Eric Wamsley
Posted: January 6th, 2012 10:17pm