What is a hypervisor's role in computing and virtualization?
In this article
IBM began using hypervisors on its mainframe systems in the 1960s. They were initially used to test the sharing of systems between virtual machines (VMs) and explore new hardware concepts. In modern computing, hypervisors are still used for various cloud computing and server management tasks, such as assigning hardware resources and running operating systems on VMs.
What is a hypervisor?
A hypervisor, also referred to as a VM monitor, is a piece of firmware, hardware or software that enables server virtualization by separating a computer's operating system from physical hardware. It can create and run VMs, then emulate hardware, such as central processing unit (CPU), memory and RAM, to those VMs. The hypervisor, or host, treats resources as a pool that it reallocates between multiple VMs, commonly known as guests.
Hypervisors can be used for a wide range of business tasks, including cloud computing, data replication, desktop virtualization and server consolidation. For example, hypervisors can be used to virtualize applications, processes and resources, which provides the stable foundation required for your cloud-native and containerized ventures. Hypervisors can also support your software-defined storage and networking efforts to add portability and security to virtualized workloads.
Additionally, desktop virtualization can help you run a Windows software piece even if your device only has a Linux or Mac operating system. A hypervisor enables you to create a Windows VM that can run the software without changing the operating system.
How does a hypervisor work?
A hypervisor isolates the operating system and resources from VMs. This enables you to create and manage the VMs and, as a result, allocate resources between existing and new VMs.
Hypervisors require components at the operating-system level, such as device drivers, an input/output stack, memory manager, network stack, process scheduler and security manager, to run VMs. The hypervisor then provides each VM with allocated resources and manages how those VM resources are scheduled against physical resources. Physical hardware still executes instructions that VMs request while the hypervisor is responsible for managing the schedule. This enables multiple operating systems to run concurrently and share virtualized resources.
If your business has multiple servers that operate different services for different customers across the Internet, it can be challenging to manage them centrally. A hypervisor enables you to virtualize those servers and manage them from one physical machine in a more efficient process. It makes better use of the resources available to you, allocates resources to all the devices available and avoids resources sitting idle when they're not being used.
Types of hypervisors
There are two core types of hypervisor:
Type 1
A Type 1 hypervisor, also known as a bare metal or native hypervisor, sits directly on the host's hardware and manages guest operating systems. Doing so replaces the host's operating system and schedules VM resources directly to the hardware.
These hypervisors tend to be more efficient and faster as they directly access underlying hardware and don't compete with other applications or operating systems. They are also typically more secure as they avoid the operating system layer, which means there's less attack surface available for cybercriminals to exploit.
Type 1 hypervisors are most commonly used in enterprise data centers and server-based environments. Common examples include Kernel-based Virtual Machines (KVMs), Microsoft's Hyper-V and VMware's vSphere.
Type 2
Type 2 hypervisors are commonly known as embedded or hosted hypervisors. They run on conventional operating systems, such as an application or software layer. This type of hypervisor works by abstracting the guest's operating system from that of the host. It then schedules VM resources against the host's operating system, which executes against the hardware.
Type 2 hypervisors are better suited to small businesses or individual users running multiple operating systems on their computers. They typically have lower costs and are easier to get set up and manage. Common examples of this are Oracle's VirtualBox and VMware's Workstation solutions.
Hypervisor management software
It's advisable to use hypervisor management software to guarantee the performance of the hypervisor and VMs. This software enables you to take an overarching view of your cloud hypervisor environment, troubleshoot VM performance issues and see how virtualization connects to applications, servers and storage. Some hypervisor management software solutions also offer built-in management, monitoring and alerts, which help protect hypervisors from being compromised.
Benefits
Hypervisors offer critical benefits for small businesses, large organizations and individual users alike. These include:
- Reliability: A key advantage of running VMs is that, in the event that one fails, other VMs, the physical hardware and the operating system won't be affected.
- Data replication: Hypervisors simplify the task of cloning and replicating VMs, which can demand vast amounts of storage space. With a hypervisor-based replication approach, you can choose the VMs and resources that need to be replicated, saving storage space and making the process much more cost-effective.
- Hardware neutral: Hypervisor-based replication is hardware neutral, which means data duplicates can be easily stored onto any device.
- Server consolidation: Hypervisors provide built-in graphical dashboards that offer enhanced visibility of the virtualized environment. This ensures central consolidation and management of servers, even if they're running in different operating systems.
- Desktop virtualization: Hypervisors facilitate efficient desktop virtualization, enabling a virtual desktop to be hosted on a server and replicated on a user's physical desktop. This allows users to access their devices remotely via client devices, enabling them to work whenever and wherever they need to.
Container vs. hypervisor
Containers and hypervisors have similar traits, such as being packaged computing environments that enable virtualization. But the critical difference between the two is in their scalability and portability.
Containers are software units that package code and dependencies to guarantee an application's performance, speed and reliability in any computing environment. Containers isolate software from a computing environment to ensure it works in all environments, from development to staging. This enables developers to work faster and deploy applications more quickly and at a greater scale, while IT teams can focus on deployment and management issues without worrying about versioning issues.
Containers are isolated from the primary system and have resource limits restricting them to a single operating system. Hypervisors, on the other hand, enable multiple operating systems to run in VMs.
Hypervisor security
Hypervisors create an extra layer between the operating system and resources that are accessed or downloaded from the Internet. Even if a resource were to create issues within a VM, the primary host and operating system would remain protected by the hypervisor.
However, in the event that a hacker gained unauthorized access to a hypervisor or its management software, they could gain access to every VM the hypervisor controls and the data within them. To prevent this, hypervisor security protects against intrusions throughout the development and implementation stages and during provisioning, management and de-provisioning of the hypervisor.
Hypervisor security includes the use of network security and monitoring tools, setting appropriate access privileges, taking steps to minimize the attack surface, and keeping the hypervisor updated and patched. This helps IT admins to monitor their environment continuously and immediately detect abnormal or unusual behavior.
For more information on how hypervisors work in an enterprise setting, read our article on Server Virtualization.