Speaking about Virtual Machines, a topic we’ve covered in a series of articles related to networking, it’s inevitable to come across Hypervisors. In this article we are going to see what it is and how they work.
What is an Hypervisor?
An Hypervisor, is software that creates and runs Virtual Machines. Also called Virtual Machine Monitor (VMM), it allows a host computer to support multiple guest VMs by virtually sharing its resources, such as memory and processing.
A Hypervisor allows you to leverage more of a system’s available resources while providing greater IT mobility, since guest VMs are independent of host hardware. This makes it easier to move them between different servers. By giving the ability, therefore, to run multiple VMs on the same server, a Hypervisor goes a long way in reducing space, energy and maintenance.
How does an Hypervisor work?
Hypervisors support the creation and management of virtual machines by abstracting a computer’s software from its hardware. Virtualization is made possible through translation of requests between physical and virtual resources.
Benefits of Hypervisors
The benefits of using a Hypervisor that hosts multiple VMs are various. We can talk about Speed, considering that it allows virtual machines to be created instantly, making it easier to provide resources for dynamic workloads.
In terms of Efficiency, Hypervisors that run several virtual machines on the resources of a physical machine also allow more efficient use of a physical server, both in terms of cost and energy, than running multiple physical machines underutilized for the same task.
It also brings benefits in terms of Flexibility.Since the hypervisor separates the operating system from the underlying hardware, the software no longer depends on specific hardware devices or drivers.
In terms of Portability, Since the virtual machines that the hypervisor runs are independent of the physical machine, they are portable. It then becomes possible to move workloads and allocate network, 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, virtualization software gives it seamless access to additional machines.
Types of hypervisors
Primarily, we can divide hypervisors into two types: Bare Metal (Type 1) and Hosted (Type 2).
A Type 1 hypervisor runs directly on the host hardware, acting like a lightweight operating system, while a Type 2 hypervisor runs, like other programs, like software on an operating system.
The most common is definitely bare-metal, where virtualization software is installed directly on the hardware where the operating system resides. These are particularly secure, being isolated from the operating system, which can be subject to attacks. They are also preferable in terms of performance and efficiency. That’s why they are the main choice for many companies.
Hosted hypervisors run on the host machine’s operating system. Despite this, additional and different operating systems can be installed on the hypervisor. On the other hand, in this type, there is a higher latency than in Type 1 hypervisors, since the communication between hardware and hypervisor has to pass through the extra layer of the operating system. Typically, hosted hypervisors are used by end users or to create test environments, which is why they are also known as Client Hypervisors because they are most often used with end users and for software testing, where the higher latency is less of a concern.
Cloud or Physical Server
Premised on the fact that both types of hypervisors can run multiple virtual servers for multiple tenants on a physical machine, let’s see what’s different between taking advantage of a cloud server or a physical one.
Public cloud service providers go out and rent server space on multiple virtual servers to different companies. One problem that can come up is that one server might, for example, host several virtual servers that are running important workloads for different companies. In this case, the risk is that if one of them is running a large workload, it will interfere with server performance for the other tenants. Also, there is undoubtedly a higher security risk compared to a dedicated bare-metal server.
A server over which a single company has full control, on the other hand, will always provide higher performance than the above solution. Bare-metal server hardware can also be optimized to increase performance, which is generally not the case with public shared servers. Inevitable, then, that companies that need to comply with regulations requiring physical separation of resources will need to use their own dedicated bare-metal servers.