Cloud computing wouldn’t be possible without virtualization. Virtualization wouldn’t be possible without the hypervisor. This thin layer of software supports the entire cloud ecosystem.
What are hypervisors?
Before hypervisors hit the mainstream, most physical computers could only run one operating system (OS) at a time. This made them stable because the computing hardware only had to handle requests from that one OS. The downside of this approach was that it wasted resources because the operating system couldn’t always use all of the computer’s power.
A hypervisor solves that problem. It is a small software layer that enables multiple operating systems to run alongside each other, sharing the same physical computing resources. These operating systems come as virtual machines (VMs)—files that mimic an entire computing hardware environment in software.
The hypervisor, also known as a virtual machine monitor (VMM), manages these VMs as they run alongside each other. It separates VMs from each other logically, assigning each its own slice of the underlying computing power, memory, and storage. This prevents the VMs from interfering with each other; so if, for example, one OS suffers a crash or a security compromise, the others survive.
For more information on how hypervisors manage VMs, check out this video, "Virtualization in 2019":
There are different categories of hypervisors and different brands of hypervisors within each category. The market has matured to make hypervisors a commodity product in the enterprise space, but there are still differentiating factors that should guide your choice. Here’s what to look for:
- Performance: Look for benchmark data that show how well the hypervisor performs in a production environment. Ideally, bare-metal hypervisors should support guest OS performance close to native speeds.
- Ecosystem: You will need good documentation and technical support to implement and manage hypervisors across multiple physical servers at scale. Also, look for a healthy community of third-party developers that can support the hypervisor with their own agents and plugins that offer capabilities, such as backup and restore capacity analysis and fail-over management.
- Management tools: Running VMs isn’t the only thing you must manage when using a hypervisor. You must provision the VMs, maintain them, audit them, and clean up disused ones to prevent "VM sprawl." Ensure that the vendor or third-party community supports the hypervisor architecture with comprehensive management tools.
- Live migration: This enables you to move VMs between hypervisors on different physical machines without stopping them, which can be useful for both fail-over and workload balancing.
- Cost: Consider the cost and fee structure involved in licensing hypervisor technology. Don’t just think about the cost of the hypervisor itself. The management software that makes it scalable to support an enterprise environment can often be expensive. Lastly, examine the vendor’s licensing structure, which may change depending on whether you deploy it in the cloud or locally.
Type 1 vs. Type 2
There are two broad categories of hypervisors: Type 1 and Type 2.
Type 1 hypervisor
A Type 1 hypervisor runs directly on the underlying computer’s physical hardware, interacting directly with its CPU, memory, and physical storage. For this reason, Type 1 hypervisors are also referred to as bare-metal hypervisors. A Type 1 hypervisor takes the place of the host operating system.
- Pros: Type 1 hypervisors are highly efficient because they have direct access to physical hardware. This also increases their security, because there is nothing in between them and the CPU that an attacker could compromise.
- Cons: A Type 1 hypervisor often needs a separate management machine to administer different VMs and control the host hardware.
Type 2 hypervisor
A Type 2 hypervisor doesn’t run directly on the underlying hardware. Instead, it runs as an application in an OS. Type 2 hypervisors rarely show up in server-based environments. Instead, they’re suitable for individual PC users needing to run multiple operating systems. Examples include engineers, security professionals analyzing malware, and business users that need access to applications only available on other software platforms.
Type 2 hypervisors often feature additional toolkits for users to install into the guest OS. These tools provide enhanced connections between the guest and the host OS, often enabling the user to cut and paste between the two or access host OS files and folders from within the guest VM.
- Pros: A Type 2 hypervisor enables quick and easy access to an alternative guest OS alongside the primary one running on the host system. This makes it great for end-user productivity. A consumer might use it to access their favorite Linux-based development tools while using a speech dictation system only found in Windows, for example.
- Cons: A Type 2 hypervisor must access computing, memory, and network resources via the host OS, which has primary access to the physical machine. This introduces latency issues, affecting performance. It also introduces potential security risks if an attacker compromises the host OS because they could then manipulate any guest OS running in the Type 2 hypervisor.
- ESXi hypervisor: VMware ESXi (Elastic Sky X Integrated) is a Type 1 (or bare-metal) hypervisor targeting server virtualization in the data center. ESXi manages collections of VMware virtual machines.
- VSphere hypervisor: Customers can use VMware ESXi for free as part of the free vSphere hypervisor, which is a basic server virtualization offering. Companies with enterprise cloud environments will license vSphere, a more complete system that includes a license for VMware’s vCenter Server. This is a separate server used to administer vSphere environments running on physical hosts. VSphere can run in a private on-premiss cloud environment or in a hosted cloud configuration.
VMware also offers two main families of Type 2 hypervisor products for desktop and laptop users:
- VMware Fusion: This is the company’s MacOS-focused offering, which lets Mac users run a large range of guest operating systems.
- Workstation: VMware’s Linux- and Windows-focused platform comes in two flavors: Pro, which is a paid version, and Player, which is free for personal use. The Pro version allows users to run multiple operating systems on a single PC and also connects to VMware vSphere, just like Fusion. Workstation Player only supports a single guest OS.
- VirtualBox: A Type 2 hypervisor running on Linux, Mac OS, and Windows operating systems. Oracle inherited the product when it bought Sun Microsystems in 2010.
"VMware: A Complete Guide" goes into much more depth on all of VMware's offerings and services.
Hyper-V is Microsoft’s hypervisor designed for use on Windows systems. It shipped in 2008 as part of Windows Server, meaning that customers needed to install the entire Windows operating system to use it. Microsoft subsequently made a dedicated version called Hyper-V Server available, which ran on Windows Server Core. This enabled administrators to run Hyper-V without installing the full version of Windows Server. Hyper-V is also available on Windows clients.
Microsoft designates Hyper-V as a Type 1 hypervisor, even though it runs differently to many competitors. Hyper-V installs on Windows but runs directly on the physical hardware, inserting itself underneath the host OS. All guest operating systems then run through the hypervisor, but the host operating system gets special access to the hardware, giving it a performance advantage.
XenServer, now known as Citrix Hypervisor, is a commercial Type 1 hypervisor that supports Linux and Windows operating systems. XenServer was born of the Xen open source project.
Open source hypervisors
Some hypervisors, such as KVM, come from open source projects. Red Hat's ties to the open source community have made KVM the core of all major OpenStack and Linux virtualization distributions.
Open source hypervisors are also available in free configurations. KVM is downloadable on its own or as part of the oVirt open source virtualization solution, of which Red Hat is a long-term supporter.
Another is Xen, which is an open source Type 1 hypervisor that runs on Intel and ARM architectures. It began as a project at the University of Cambridge and its team subsequently commercialized it by founding XenSource, which Citrix bought in 2007.
In 2013, the open source project became a collaborative project under the Linux Foundation. Many cloud service providers use Xen to power their product offerings.
Xen supports several types of virtualization, including hardware-assisted environments using Intel VT and AMD-V. It also supports paravirtualization, which tweaks the guest OS to work with a hypervisor, delivering performance gains.
Linux also has hypervisor capabilities built directly into its OS kernel. The kernel-based virtual machine (KVM) became part of the Linux kernel mainline in 2007 and complements QEMU, which is a hypervisor that emulates the physical machine’s processor entirely in software.
KVM supports virtualization extensions that Intel and AMD built into their processor architectures to better support hypervisors. These extensions, called Intel VT and AMD-V respectively, enable the processor to help the hypervisor manage multiple virtual machines. Where these extensions are available, the Linux kernel can use KVM. Otherwise, it falls back to QEMU.
Find out more about KVM from Red Hat.
Red Hat Hypervisor
Red Hat bases its Red Hat Enterprise Virtualization Hypervisor on the KVM hypervisor. Its virtualization solution builds extra facilities around the hypervisor. This includes a virtualization manager that provides a centralized management system with a search-driven graphical user interface and secure virtualization technologies that harden the hypervisor against attacks aimed at the host or at virtual machines. Red Hat's hypervisor can run many operating systems, including Ubuntu.
Virtual desktop integration (VDI)
Type 1 hypervisors can virtualize more than just server operating systems. They can also virtualize desktop operating systems for companies that want to centrally manage their end-user IT resources.
Virtual desktop integration (VDI) lets users work on desktops running inside virtual machines on a central server, making it easier for IT staff to administer and maintain their OSs.
In this environment, a hypervisor will run multiple virtual desktops. Each desktop sits in its own VM, held in collections known as virtual desktop pools. Each VM serves a single user who accesses it over the network.
The user’s endpoint can be a relatively inexpensive thin client, or a mobile device. This gives them the advantage of consistent access to the same desktop OS. They can get the same data and applications on any device without moving sensitive data outside a secure environment.
Users don’t connect to the hypervisor directly. Instead, they access a connection broker that then coordinates with the hypervisor to source an appropriate virtual desktop from the pool.
Products like VMware Horizon provide all this functionality in a single product delivered from your own on-premises service or via a hosted cloud service provider.
Because there are so many different makes of hypervisor, troubleshooting each of them will involve a visit to the vendor's own support pages and a product-specific fix. However, some common problems include not being able to start all of your VMs. This can happen when you have exhausted the host's physical hardware resources. To fix this problem, you can either add more resources to the host computer or reduce the resource requirements for the VM using the hypervisor's management software.
Another common problem for hypervisors that stops VMs from starting is a corrupt checkpoint or snapshot of a VM. This is why VM backups are an essential part of an enterprise hypervisor solution, but your hypervisor management software may allow you to roll back the file to the last valid checkpoint and start it that way. However, this may mean losing some of your work.
Hypervisors and IBM
IBM invented the hypervisor in the 1960s for its mainframe computers. Today, IBM z/VM, a hypervisor for IBM z Systems mainframes, can run thousands of Linux virtual machines on a single mainframe. IBM PowerVM provides AIX, IBM i, and Linux operating systems running on IBM Power Systems.
IBM supports a range of virtualization products in the cloud. IBM Cloud Virtual Servers are fully managed and customizable, with options to scale up as your compute needs grow.
If you’re currently running virtualization on-premise, check out the solutions in the IBM VMware partnership.
Get started by creating your own IBM Cloud account today.