Skip to content

Hypervisors

Posted on:August 17, 2024

hypervisor, also known as a virtual machine monitor (VMM) or virtualizer, is a type of computer softwarefirmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called a host machine, and each virtual machine is called a guest machine. The hypervisor presents the guest operating systems with a virtual operating platform and manages the execution of the guest operating systems. Unlike an emulator, the guest executes most instructions on the native hardware.1(https://en.wikipedia.org/wiki/Hypervisor#cite_note-goldberg1973-1) Multiple instances of a variety of operating systems may share the virtualized hardware resources: for example, LinuxWindows, and macOS instances can all run on a single physical x86 machine. This contrasts with operating-system–level virtualization, where all instances (usually called containers) must share a single kernel, though the guest operating systems can differ in user space, such as different Linux distributions with the same kernel.

The term hypervisor is a variant of supervisor, a traditional term for the kernel of an operating system: the hypervisor is the supervisor of the supervisors,2(https://en.wikipedia.org/wiki/Hypervisor#cite_note-2) with hyper- used as a stronger variant of super-.a(https://en.wikipedia.org/wiki/Hypervisor#cite_note-3) The term dates to circa 1970;3(https://en.wikipedia.org/wiki/Hypervisor#cite_note-4) IBM coined it for the 360/654(https://en.wikipedia.org/wiki/Hypervisor#cite_note-5) and later used it for the DIAG handler of CP-67. In the earlier CP/CMS (1967) system, the term Control Program was used instead.

Here’s a comprehensive list of hypervisors available today, including their key features, advantages, and use cases:

1. KVM (Kernel-based Virtual Machine)

2. QEMU (Quick EMUlator)

3. VMware ESXi

4. Microsoft Hyper-V

5. Xen

6. Oracle VM VirtualBox

7. Hyperkit

8. Parallels Desktop

9. Firecracker

10. bhyve

11. UTM

12. Virtuozzo

Comparison of Hypervisors

  1. Performance:

    • KVM, VMware ESXi, and Hyper-V generally offer the best performance due to their tight integration with hardware.
    • Firecracker provides excellent performance for micro VMs with minimal overhead.
  2. Ease of Use:

    • Oracle VM VirtualBox and Parallels Desktop are known for their user-friendly interfaces, making them ideal for desktop users.
    • UTM and Hyperkit are optimized for macOS environments and are easy to use on Apple devices.
  3. Scalability:

    • Xen, KVM, and VMware ESXi are widely used in large-scale cloud environments and can scale to thousands of VMs.
    • Firecracker is optimized for scaling serverless functions and microservices.
  4. Security:

    • KVM and Xen offer robust security features, including strong isolation and support for secure multi-tenancy.
    • Kata Containers and Firecracker are designed with a focus on security, offering enhanced isolation for containerized workloads.
  5. Cost:

    • KVM, QEMU, and Xen are open-source and free, making them cost-effective solutions.
    • VMware ESXi and Parallels Desktop are commercial products that require licensing.
  6. Platform Integration:

    • Hyper-V integrates seamlessly with Windows environments.
    • bhyve is the go-to choice for FreeBSD users.

Choosing the right hypervisor depends on your specific requirements, including the target environment, performance needs, and the level of integration required.

Cloud Hypervisor Overview

Type: Type-1 (Bare-metal) Hypervisor

Platform: Linux

Key Features:

Lightweight and Minimal: Designed to run workloads with minimal overhead, Cloud Hypervisor provides a streamlined experience, focusing only on what’s necessary for cloud environments.

Security-First: Built with modern security practices in mind, such as memory encryption and secure boot, ensuring strong isolation between VMs.

Optimized for Cloud Workloads: Supports modern cloud workloads, including containers, microservices, and serverless computing.

VMM (Virtual Machine Manager): Cloud Hypervisor uses Rust for its VMM, benefiting from Rust’s memory safety features to reduce vulnerabilities.

Integration with Kata Containers: Cloud Hypervisor is often paired with Kata Containers to provide lightweight VM-based isolation for container workloads.

In addition to Cloud Hypervisor, several other modern hypervisors and similar technologies have emerged, specifically designed for cloud-native, containerized, and edge computing environments. These technologies prioritize lightweight, secure, and efficient virtualization tailored to modern application needs. Here’s an overview of some of these technologies:

QEMU microvm

https://www.qemu.org/docs/master/system/i386/microvm.html microvm is a machine type inspired by Firecracker and constructed after its machine model.

1. Firecracker

2. Kata Containers

3. gVisor

4. Nabla Containers

5. Unikernels

6. Virtlet

7. WasmEdge

8. AWS Nitro Enclaves

9. VMWare ESXi on ARM

Preview Image

Gallium is a new Cloud-Managed Hypervisor that enables effortless on-prem Virtualisation

Preview Image

Lock, Stock, and Two Smoking MicroVMs. Create and manage the lifecycle of MicroVMs backed by containerd. - liquidmetal-dev/flintlock

Comparison and Considerations

Conclusion

Each of these modern hypervisor and container technologies serves specific needs in cloud-native, edge computing, and containerized environments. Depending on your use case—whether it’s maximizing performance, ensuring security, or efficiently managing resources—choosing the right technology involves balancing these factors with the requirements of your specific deployment environment.