A Cloud Hypervisor is software that enables the sharing of cloud provider’s physical compute and memory resources across multiple virtual machines (VMs). Originally created for mainframe computers in the 1960s, hypervisors gained wide popularity with the introduction of VMware for industry standard servers in the 1990s, enabling a single physical server to independently run multiple guest VMs each with their own operating systems (OSs) that are logically separate from each other. In this manner, problems or crashes in one guest VM have no effect on the other guest VMs, OSs, or the applications running on them.
Although there are multiple types of VMs, they all perform the same task, enabling a single set of physical server hardware (including CPU, memory, storage, and peripherals) and enabling the simultaneous use by multiple instances of OSs, whether Windows, Linux, or both.
Just as hypervisors make it possible to gain a new level of computer utilization, a Cloud Hypervisor is the underpinning of all cloud compute offerings, enabling VMs and containers to run side-by-side on a single server, whether those VMs belong to a single client or to multiple clients of the cloud provider. It is this multitenancy that powers the economics for most cloud compute offerings.
Hypervisors and the VMs they support provide the portability that enables workloads to easily be migrated between cloud providers and on-premises servers. This enables organizations to rapidly scale from on-premises servers to cloud providers or to add more instances of applications already running in the cloud when spikes in demand occur.
Cloud Hypervisors help cloud providers reduce the amount of space servers use, while reducing the amount of energy needed to power and cool the vast array of servers under their management.
Cloud Hypervisors abstract the underlying servers from ‘Guest’ VMs and OSs. OS calls for server resources (CPU, memory, disk, print, etc) are intercepted by the Cloud Hypervisor which allocates resources and prevents conflicts. As a rule, guest VMs and OSs run in a less-privileged mode than the hypervisor so they cannot impact the operation of the hypervisor or other guest VMs
There are two major classifications of Hypervisor: Bare metal or native (Type 1) and Hosted (Type 2). Type 1 Hypervisors run directly on host machine hardware with no OS beneath. These hypervisors communicate directly with the host machine resources. VMware ESXi and Microsoft Hyper-V are Type 1.
Type 2 Hypervisors usually run above the host machine OS and rely on the host OS for access to machine resources. They are easier to se up and manage since the OS is already in place, and thus Type 2 hypervisors are often used for home use and for testing VM functionality. VMware Player and VMware Workstation are Type 2 hypervisors.
KVM (Kernel-based Virtual Machine) is a popular hybrid hypervisor with some Type 1 and Type 2 characteristics. This open-source hypervisor it built into Linux and lets Linux act as a Type 1 hypervisor and an OS at the same time.
There are several benefits to using a hypervisor that hosts multiple virtual machines:
Time to Use: Cloud Hypervisors enable VMs to be instantly spun up or down, as opposed to days or weeks required to deploy a bare metal server. This enables projects to be created and have teams working the same day. Once a project is complete, VMs can be terminated to save organizations from paying for unnecessary infrastructure.
Utilization: Cloud Hypervisors enable several VMs to run on a single physical server and for all the VMs to share its resources. This improves the server utilization and saves on power, cooling, and real estate that is no longer needed for each individual VM.
Flexibility: Most Cloud Hypervisors are Type 1 (Bare-metal) enabling guest VMs and OSs to execute on a broad variety of hardware, since the hypervisor abstracts the VMs from the underlying machine’s drivers and devices.
Portability: Since Cloud Hypervisors enable portability of workloads between VMs or between a VM and an organization’s on-premises hardware. Applications that are seeing spikes in demand can simply access additional machines to scale as needed.
Reliability: Hardware failures can be remediated by moving VMs to other machines, either at the cloud provider or in a private cloud or on-premises hardware. Once the failure is repaired workloads can fail back to ensure availability of application resources on the VM.
There are two main hypervisor types, referred to as “Type 1” “bare metal”) and “Type 2” (or “hosted”). A type 1 hypervisor acts like a lightweight operating system and runs directly on the host’s hardware, while a type 2 hypervisor runs as a software layer on an operating system, like other computer programs.
Cloud providers most commonly deploy a Type 1 or bare-metal hypervisor, where virtualization software is installed directly on the hardware where the operating system is normally installed. Because bare-metal hypervisors are isolated from the attack-prone operating system, they are extremely secure. In addition, they generally perform better and more efficiently than hosted hypervisors. For these reasons, most enterprise companies choose bare-metal hypervisors for data center computing needs.
While bare-metal hypervisors run directly on the computing hardware, hosted or Type 2 hypervisors run on top of the operating system (OS) of the host machine. Although hosted hypervisors run within the OS, additional (and different) operating systems can be installed on top of the hypervisor. The downside of hosted hypervisors is that latency is higher than bare-metal hypervisors. This is because communication between the hardware and the hypervisor must pass through the extra layer of the OS. Hosted hypervisors are sometimes known as client hypervisors because they are most often used with end users and software testing, where higher latency is less of a concern.
Both types of hypervisors can run multiple virtual servers for multiple tenants on one physical machine. Public cloud service providers lease server space on the different virtual servers to different companies. One server might host several virtual servers that are all running workloads for different companies. This type of resource sharing can result in a “noisy neighbor” effect, when one of the tenants runs a large workload that interferes with the server performance for other tenants. It also poses more of a security risk than using a dedicated bare-metal server.
A Cloud Hypervisor comparison of major cloud providers demonstrates their similarity.
Amazon AWS EC2 uses a Cloud Hypervisor that is a customized version of the Xen hypervisor that takes advantage of paravirtualization for Linux guest VMs.
The Google Cloud Platform (GCP) Cloud Hypervisor is also based on the open-source KVM hypervisor; Google also invests in additional security hardening and protection and contributes their changes back to the KVM project for the benefit of all.
The Microsoft Azure Cloud Hypervisor is based on Microsoft Hyper-V, another Type 1 hypervisor popular in Windows environments and customized for the Microsoft Azure platform.