What is Virtualization?

Now that we have learnt what cloud is from the previous blog, the next big question is: What is Virtualization? We learnt that cloud resources like compute, network and storage are just “virtualized” resources available for access to public/private users over the internet. So understanding Virtualization is foundational to grasping future cloud computing concepts.
Virtualization is the process of creating a virtual version of something, such as an operating system, a server, a network, or a storage device. In the context of cloud computing, virtualization plays a key role in enabling the creation of scalable, flexible, and efficient computing resources that can be shared among multiple users or applications.
Now that sounds a lot more like a book definition. What does it exactly mean? Well, virtualization will allow you to share one physical machine with it’s resources as multiple virtualized machines or virtualized machine resources. This is done using a software called Hypervisor.

The above is a neat illustration of what happens. There is a physical machine, and the hypervisor splits that into two virtual machines. Amplify that to AWS or Azure scale, and we get EC2 instances or Azure Compute instances. Well, those are a little more complex than just this, but this is the base idea. So with Hypervisor we can create virtual machines, virtual CPUs, virtual storage, virtual NICs…pretty much anything you can think of.
Virtualization is of two types.
Type 1 Virtualization
Type 2 Virtualization
VMM on the image below stands for Virtual Machine Monitor which is commonly called Hypervisor

The basic difference between them is where the VMM runs. Is it running directly on the physical hardware or on top of the host OS.
An example of Type 2 Virtualization is using Oracle Virtual Box on your Mac/Windows machine to spin up a Linux machine. Your laptop’s physical resources are virtualized and given to the virtual Linux machine created on top of your machine. This is usually not preferred to run production-grade workloads since both host OS and VMM need to share the available limited resources.
If a Hypervisor is put directly on top of physical hardware, it is Type 1. An example of such a Hypervisor is XenServer from VMWare
So, if you are interacting with a cloud service, there is a good chance such a technology is being used under the hood.
And…depending on the infrastructure where virtualization is done, we can divide it into Server and Desktop Virtualization. But that is a topic for another day!






