An introduction to virtualization — From the IBM hypervisor to Hyper-V

Hyper-V is an enterprise class type 1 hypervisor built on a microkernelized architecture with built-in support for implementations in both private and public clouds.

You hurt your what?

In order to really understand the details of what Hyper-V is and why it’s so important you have to go back to its roots and to the roots of virtualization itself. In the late 1960’s IBM was working on operating systems at their Cambridge Scientific Center. These operating systems were for mainframe computers, the PC revolution had not begun. So the brilliant engineers at IBM had this amazing set of mainframe hardware which could in theory do some amazing things but in practice was limited by a set of supervisory code which controlled which requests were sent to the hardware and in what order.

The requests were sent one at a time which meant the mainframe had lots of extra resources just sitting around waiting for a request to come in so it could go to work. The IBM guys said “Hey, what if we could send more than one request to the hardware at the same time?” And they started coding a solution. They wrote a special piece of software that would run above the supervisor and accept multiple requests then stream those requests through the supervisory code to the hardware for a much more efficient use of hardware resources. Genius! Since the code ran at the layer above the supervisor they called it the Hypervisor and the name has stuck with us ever since. IBM included this amazing feature that we now call virtualization with their CP/CMS operating system on the 360/67 class machines in the early 70’s.

The guys at IBM had developed a hypervisor that was software based (also known as a type 2 or hosted hypervisor) and it had its limitations. They clearly understood that in order to take advantage of the potential of virtualization there would need to be a hypervisor that ran beneath the supervisory code directly on the hardware (also known as a Type 1 hypervisor.) IBM architected a great 64-bit virtual environment with a type 1 hypervisor over the course of the next 30 years and like many great ideas from IBM (the hermaphroditic connector for example) no one uses it today. Instead, the world adopted a type 1 hypervisor from a company called VMware.

Hyper-V, a type 1 hypervisor from Microsoft, came on the scene in 2008. While at first glance it seems that Hyper-V was late to the hypervisor party when we consider Microsoft’s architectural design choices and the network design environment Hyper-V looks like a brilliant move from Microsoft.

Hyper-V is designed using a microkernelized architecture. This design places the proprietary drivers on each of the virtual machines and the virtualization stack is housed by that special first VM which was used to install Hyper-V called the parent VM. This design offers an ease in isolating VMs from one another while reducing the attack surface by distributing individual copies of the drivers to each VM. By contrast, VMware has used the monolithic design principles in their hypervisors and the drivers and virtualization stack are actually hosted by the hypervisor. This design offers ease of movement of the VMs and consolidation of drivers.

Monolithic Architecture and Microkernelized Architecture

Monolithic Architecture and Microkernelized Architecture

Microsoft was very clear in its release of Hyper-V that this hypervisor was built to usher in a dramatic change in network design called Cloud. Microsoft has spent perhaps hundreds of billions of dollars building the world’s largest distributed datacenter infrastructure to support Microsoft Azure, the ultimate cloud platform. The Platform as a Service offerings in Microsoft Azure use Hyper-V virtual machines as the platform for Windows Server. The Infrastructure as a Service offerings use Hyper-V as the platform for running virtual machines in Microsoft Azure. Hyper-V is built into the underlying fabric of Microsoft Azure. If you want to use Azure (and something tells me we will all end up here eventually) you will be using Hyper-V.

I know there are some of you out there who are resistant to the idea of running all your VMs in Microsoft Azure. Hyper-V can, of course, be used as the platform for virtualization in your own private network. It will run VMs in your datacenter whether it is large or small. Hyper-V comes with built-in functionality for advanced operations like live migration, clustering, dynamic monitoring and management, advanced networking, and some great storage options. Hyper-V is truly capable of hosting virtual environments of every size from the smallest business to the largest enterprise. Best of all Microsoft has chosen to distribute Hyper-V with every Window Server 2012 R2 license so there is effectively no “cost” associated with running Hyper-V. Awesome!

Next time someone asks you about Hyper-V you can tell them with confidence that you understand exactly what Hyper-V is, and why it is doing so well in the virtualization/hypervisor marketplace.

See also:

Table of Contents
Stay up to date on the latest tips and news
By subscribing, you are agreeing to have your personal information managed in accordance with the terms of Veeam’s Privacy Policy
You're all set!
Watch your inbox for our weekly blog updates.
OK