Not everyone would have heard of the term hypervisor. If you are in this category, don’t fret because we shall be looking at what hypervisors are, how they work, and the different types that exist. You should read through this guide if you are eager to know what hypervisors mean.
What is a hypervisor?
A hypervisor is a function that abstracts — isolates — operating systems (OSes) and applications from the underlying computer hardware. This abstraction enables the underlying host machine hardware to independently operate one or more virtual machines as guests, enabling multiple guest VMs to effectively share the system’s physical compute resources, such as processor cycles, memory space, and network bandwidth.
A hypervisor would be used by someone who wants to consolidate space on a server or run multiple isolated applications on a single server. Hypervisors are commonly supported in virtualization software, such as vCenter Server.
How Do Hypervisors Work
Hypervisors help in creating and managing Virtual Machines (VMs) by creating a layer between software and hardware. By translating requests from physical to virtual resources (CPU, RAM, and Storage) and vice versa, hypervisors make virtualization possible.
Types of hypervisors
According to Gerald J. Popek and Robert P. Goldberg, as specified in their article Formal Requirements for Virtualizable Third Generation Architectures from 1974, there are two types of hypervisors. Although the distinction between both types is not always completely clear.
Type-1: bare-metal or native hypervisors
Type-1 or bare-metal hypervisors, also known as native hypervisors, run directly on the server. Bare-metal hypervisors manage guest operating system/s. Here are some examples of open source and commercial bare-metal hypervisors:
- Open source bare-metal hypervisors: KVM, Proxmox, and Xen.
- Commercial bare-metal hypervisors: Red Hat Enterprise Virtualization (RHEV), Citrix XenServer, Hyper-V, and VMware ESXi.
This type of hypervisor is the most commonly deployed for data center computing needs. In general, this type of hypervisor performs better and more efficiently than hosted hypervisors.
Advantages of Type 1 Hypervisors
- Optimization of Physical Resources: Organisations often burn funds quickly by buying separate servers for different applications – an endeavor that is time-consuming and takes up data center space. With Type 1 hypervisors, IT can utilize server hardware, which frees up data center costs and real estate and cuts down on energy usage.
- Greater Resource Allocation: Most Type 1 hypervisors give admins the opportunity to manually set resource allocation, based on the application’s priority. Many Type 1 hypervisors also automate resource allocation as required, allowing resource managers to be a dynamic and customized option.
Type-2: hosted or client hypervisors
Type-2 or hosted hypervisors, also known as client hypervisors, run as a software layer on top of the OS of the host machine. They are used to the abstract guest operating systems from the host OS. Here are some examples of open source and commercial hosted hypervisors:
- Open source hosted hypervisors: QEMU and VirtualBox.
- Commercial-hosted hypervisors: Parallels Desktop, VMware Workstation Player, and VMware Fusion.
Type 2 hypervisors come with their own set of benefits, like:
- Type 2 Hypervisors are much easier to set up and manage as you already have an Operating System to work with.
- It does not require a dedicated admin.
- It is compatible with a wide range of hardware.
The Role of Hypervisor Technology
The hypervisor is superior to virtual machines, which we’ll call VMs from here on. The hypervisor allocates resources to VMs or, in other words, manages the physical resources, such as CPU, memory, and storage that execute functions in the VM environments.
It’s a bit like entering The Matrix. In this metaphor, Neo’s body is the physical hardware. It can operate in the real world as a single, physical server or his mind (still reliant on his physical brain) can go virtual. The interface that enables Tank, ‘the operator,’ to simultaneously monitor and manage the different, individual experiences of all the humans on his ship who are plugged into the Matrix—that’s akin to the hypervisor.
Benefits of hypervisors
There are several benefits to using a hypervisor that hosts multiple virtual machines:
- Speed: Hypervisors allow virtual machines to be created instantly, unlike bare-metal servers. This makes it easier to provision resources as needed for dynamic workloads.
- Efficiency: Hypervisors that run several virtual machines on one physical machine’s resources also allow for more efficient utilization of one physical server. It is more cost- and energy-efficient to run several virtual machines on one physical machine than to run multiple underutilized physical machines for the same task.
- Consolidating Servers: Hypervisors also offer inbuilt graphical dashboards. You can also download additional enhancements to the inbuilt dashboards for better visibility. This ability lets you consolidate and manage your servers centrally even when they are running different operating systems.
- Flexibility: Bare-metal hypervisors allow operating systems and their associated applications to run on a variety of hardware types because the hypervisor separates the OS from the underlying hardware, so the software no longer relies on specific hardware devices or drivers.
- Portability: Hypervisors allow multiple operating systems to reside on the same physical server (host machine). Because the virtual machines that the hypervisor runs are independent of the physical machine, they are portable. IT teams can shift workloads and allocate networking, memory, storage, and processing resources across multiple servers as needed, moving from machine to machine or platform to platform. When an application needs more processing power, the virtualization software allows it to seamlessly access additional machines.
Why use a hypervisor?
Hypervisors make it possible to use more of a system’s available resources and provide greater IT mobility since the guest VMs are independent of the host hardware. This means they can be easily moved between different servers. Because multiple virtual machines can run off of one physical server with a hypervisor, a hypervisor reduces:
- Maintenance requirements
What are the Features of a Hypervisor?
There are two major features of hypervisors:
Hypervisors partition the underlying hardware. Partitioning is a method for efficiently using an abundance of hardware resources by enabling multiple independent software payloads to run concurrently on the same hardware.
A partition is a logical unit of isolation, supported by the hypervisor, in which operating systems execute. The virtualization management stack runs in the parent partition and has direct access to hardware devices. The root partition then creates the child partitions which host the guest operating systems.
Hypervisors manage independent virtual machines by distributing resources like memory, network bandwidth, etc. among them. Maintaining a healthy balance of virtual machine resources will optimize individual VM capabilities, thereby improving your overall network performance.
Resource allocation describes the process of figuring out the best way to distribute limited resources between multiple applications. Virtual machine resource allocation is this same task: determining how to best divide VM resources between the VMs present in your network. Effective resource allocation will ensure all VMs complete jobs successfully and without draining excessive resources.
Containers vs. hypervisor
Containers might seem like hypervisors. However, hypervisors host kernel-based VMs, designed to create an environment that mimics a collection of physical machines. Each VM contains its own independent OS. In contrast, containers can share an OS kernel, known as a base image. Each container runs a separate application or microservice but depends on the underlying base image.
Microsoft offers two different container options. It’s possible to build a traditional container architecture on top of Windows Server, but there is also an option to create a Hyper-V container deployment that acts as a hybrid environment. It uses a VM as the basis for the container infrastructure.
Kubernetes has become the standard tool for managing Linux containers across private, public, and hybrid cloud environments. Kubernetes is an open-source system created by Google, originally launched in 2015. Kubernetes can automate the scheduling, deployment, scaling, and maintenance of containers across cluster nodes.
The hypervisor security process includes ensuring the hypervisor is secure throughout its lifecycle, including during development and implementation. If an attacker gains unauthorized access to the hypervisor, management software, or the software that orchestrates the virtual environment, then that attacker could potentially gain access to any and all the data stored in each VM. Other possible vulnerabilities include shared hardware caches, the network, and potential access to the physical server.
Common security practices for hypervisors include:
- Limiting the users in a local system
- Limiting attack surfaces by running hypervisors on a dedicated host that doesn’t perform any additional roles
- Keeping systems updated by adhering to patch management best practices
- Configuring the host to act as a part of a guarded fabric
- Enabling VM encryption to prevent rogue admins from gaining access to VMs
- Encrypting the storage on which the VMs reside by using BitLocker or another similar encryption option
- Use Role-based access control (RBAC) to limit administrative privileges
- Use a dedicated physical network adapter for management traffic
- Use a dedicated physical network adapter for VM migration traffic
- Use a dedicated physical network adapter for cluster traffic
Which Type of Hypervisor is Best for You?
The hypervisor you choose depends greatly on your needs as an organization, the cost that your organization is ready to bear, and the expertise that you have inside your organization to manage virtual machines.
On a general basis, it makes sense for small businesses to adopt Type II hypervisors.
Type II has lower costs, is easier to set up, and does not require a dedicated administrator to manage them. They work well for small organizations where latency is not an issue, and when the number of virtual machines required is comparatively low.
Large corporations and businesses require many virtual machines for their deployments. In such a case Type I is more suitable.
Type I hypervisors have low latency times, as they can access the hardware directly. They are widely acknowledged as the best performing and most efficient hypervisors that require an administrator to manually set resource allocation based on the application’s priority. They might go higher in terms of costs because of the need to deploy on bare metal. However, they win in terms of security as they isolate virtual machines from each other.
In conclusion, hypervisor vendors offer packages that contain multiple products with different licensing agreements. Even though you can migrate between the hypervisors, this can be a tedious and expensive process. It’s best to get this decision right from the get-go.