Server virtualization for roadrunners | Hypervisor
?? Listen to the episode
https://anchor.fm/developertharun/episodes/Server-virtualization-for-roadrunners--Hypervisor-e18tm54
A Yummy Analogy
Imagine you have ordered your favorite pizza of large size. You see, the pizza is divided into 8 slices. Assuming you are kind enough to share the pizza with 3 of your friends, each of you gets 2 slices each. Now let's observe the following:
Compare it with buying a large pizza that you are not able to eat all by yourself and 5 pieces of it going to waste, or a plate of dessert that you have to share with your friends where anyone can eat as much as they want according to their speeds ( which is unfair ?? ). In these two scenarios, we see that there is no cost savings, no isolation.
Introducing Virtualization
I know the article made you hungry, let's get back to the topic.
You need to know two basic things:
Virtualization creates a software representation of the underlying hardware resources on a host and shares it among the virtual machines that are created on top of it. Each virtual machine has its own operating system and applications, thereby being able to utilize the resources of a host machine by its guest machines in an isolated manner.
A virtual machine ( VM ) is an isolated guest machine that has it's own operating system and applications. Each VM is completely independent of other VMs running on the same host machine.
If you remember our x84 vs x64 architecture systems blog post, the x84 systems are not capable of running more than one operating system or application at a time. The concept of multi-processing came up only with the x64 systems introducing the dual-core, quad-core so on. Because of this reason, the earlier datacenters which were based on x84 systems had to increase the number of servers, whereas the server utilization remained underutilized.
Today, this is not the scenario. Virtualization has gone beyond just server virtualization and has reached network virtualization, disk virtualization, and so on. But how is this possible?
Hypervisor - The hero of our story
The concept of Virtual Machines is made possible only because of the thin layer of software known as the Hypervisor, which is installed on the host machine. The hypervisor enables the virtualization of resources and isolation between the Virtual machines that are created on the same host. This enables efficient and transparent utilization of data center resources.
Types of Hypervisors:
领英推荐
Type one hypervisors
Type 1 hypervisors as depicted above lay directly above the physical server and host the virtual machines on top of them. They are also known as bare-metal hypervisors. It has shown far better performance than type two hypervisors.
Dynamic resource allocation in Type 1 hypervisor allows VMs to consume resources only as much as they need to be fully functional, even if you allocate more than that. For example, if you allocate 32GB of RAM to a VM, it will not reserve all 32GB of RAM to the VM, but only that resource which it needs to fully function. ( This is not the case with Type 2 hypervisors ).
Example: The open-source KVM ( Kernel-based Virtual Machine )
Type two hypervisors
Type 2 hypervisors as depicted above have an operating system on top of the physical server layer, over which a type two hypervisor is installed. So, there is a host operating system ( a software layer ) that comes in between the physical server and the type two hypervisor.
There is no dynamic resource allocation facility available in type two hypervisors. For example, if you allocate 32GB of RAM to a VM running on a type two hypervisor, it will reserve all 32GB of RAM, even though the VM could be using only a fraction of it, unlike type one hypervisors.
Example: Oracle VM VirtualBox
Benefits of using a hypervisor/virtualization
As we already saw the benefits of sharing a pizza, we can conclude the below benefits:
You can find more articles here: https://www.tharunshiv.com
Roadrunners is a series that is aimed at delivering concepts as precisely as possible. Here, a roadrunner is referred to as a person who does things super fast & efficiently. Are you a roadrunner?
Thank you