What Are The Types Of Hypervisors?
What are hypervisors?
Hypervisors, also known as virtual machine managers, are software programs that enable multiple virtual machines (VMs) to run on a single physical computer. A hypervisor creates a layer of abstraction between the physical hardware and the VMs, allowing multiple operating systems to run independently on the same hardware.
Types of hypervisors
There are two main types of hypervisors, but originally, there were two additional that were proposed to be added to the categories but are not commonly recognized.
Type 1 Hypervisors
Type 1 hypervisors are also known as “bare-metal hypervisors” because they run directly on the host computer’s hardware, without requiring an underlying operating system. They provide a high level of performance and security, as they have direct access to the hardware. In addition, they can also provide advanced features such as live migration, high availability, and resource pooling.
They are commonly used in data centers to consolidate multiple physical servers into a smaller number of virtual machines which reduces hardware costs and improves resource utilization. Side from this, they are also used for cloud computing, where they provide the underlying virtualization layer that enables the creation and management of virtual machines on a large scale.
Some examples of type 1 hypervisors are:
- VMware ESXi: A widely used hypervisor that provides advanced features such as high availability, vMotion, and Distributed Resource Scheduler (DRS).
- Microsoft Hyper-V: It is built into the Windows Server operating system, and provides features such as live migration, failover clustering, and storage migration.
- Citrix Hypervisor: This provides features such as live migration, high availability, and workload balancing, and is commonly used in virtual desktop infrastructure (VDI) deployments.
Type 1 hypervisors are generally considered to be more secure and reliable than Type 2 hypervisors, as they have a smaller attack surface and fewer dependencies on other software components. However, they are more difficult to set up due to hardware compatibility, firmware updates, networking configuratins and device drivers.
Type 2 Hypervisors
These are also known as “hosted hypervisors”, they are software applications that run on top of an existing operating system, such as Windows, Linux, or macOS. They provide a layer of abstraction between the physical hardware and the virtual machines, allowing multiple virtual machines to run on the same host system. Type 2 hypervisors also typically have a more user-friendly interface and require fewer hardware compatibility and networking configuration steps. They are commonly used for desktop virtualization, software development, and testing environments.
Some examples are:
- Oracle VirtualBox: This is a widely used hypervisor that supports multiple guest operating systems, and provides features such as snapshotting, virtual networking, and USB device support.
- VMware Workstation: This provides advanced features such as virtual networking, teaming, and support for multiple monitor displays.
- Parallels Desktop: This one is designed for macOS, and provides features such as integration with the macOS desktop, support for virtualized macOS and Windows applications, and automatic hardware detection.
Some disadvantages of type 2 hypervisors are reduced performance and security, as they rely on the underlying operating system to manage hardware access and system resources and they also are subject to compatibility issues with the host operating system, and may even require additional software components to be installed in order to provide full virtualization capabilities.
The other proposed types of hypervisors are:
Type 3 Hypervisors
Type 3 hypervisors, also known as “hosted virtualization”, are software applications that are installed on a regular operating system, similar to Type 2 hypervisors. However, type 2 hypervisors are hosted hypervisors that run on top of a host operating system, while Type 3 hypervisors are hosted virtualization software applications that run within a host operating syste and they provide a higher level of abstraction and virtualization, allowing multiple virtual machines to run on top of the host operating system. They also provide a higher level of performance and security, because they are designed to isolate the virtual machines from the host operating system and provide direct access to hardware resources.
Example of type 3 hypervisor:
- User-mode Linux (UML): A virtualization software that allows users to run Linux virtual machines on a Linux host operating system.
Type 4 Hypervisors
These are otherwise known as “cloud hypervisors”, and are designed to run on cloud infrastructure and provide a platform for creating and managing virtual machines in a cloud environment. As the name suggests, these are typically used by cloud service providers to offer Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (PaaS) offerings.
They run on top of a standard operating system and provide a layer of abstraction between the physical hardware and the virtual machines and are designed to provide a high level of scalability, reliability, and security, and are optimized for cloud workloads.
Some Type 4 hypervisors examples are:
- Amazon Web Services (AWS) Elastic Compute Cloud (EC2): A cloud hypervisor that provides scalable compute capacity in the cloud, and allows users to run virtual machines and applications on different operating systems.
- Microsoft Azure Virtual Machines: It allows users to create and manage virtual machines in the cloud, and provides a variety of services for managing virtual networks, storage, and security.
- Google Cloud Platform (GCP) Compute Engine: Another cloud hypervisor that provides virtual machines and computing resources in the cloud, and also offers a range of services for managing storage, networking, and security.
Type 4 hypervisors have some advantages over Type 1 and Type 2 hypervisors, like scalability, flexibility, and the ability to create virtual machines on demand. They are also designed to integrate with other cloud services and platforms, which allows clients to build and manage complex cloud environments.