Virtualization for Non-Techs
Hope you all are doing well during this time epidemic, staying home and following rules. During this free time I thought about explaining things we techies deal with day to day life to people who don't know about these things and constantly bombarded with tech terms.
Many of you might have heard about word
virtualization but every where it is explained with terms life hypervisor, containers etc. We will go deep into them also but let us try to first explain what is virtualization in simple terms.
Every one nowadays are foodies so I will take example of restaurant and kitchen everywhere. So let's start.
So you have a restaurant idea and you bought a kitchen where you can server around thousands of customer everyday, but your restaurant's kitchen is expert in single cuisine let it be Indian foods. Now you want to extend it to Italian food so you added Italian cuisine and chefs to work on it as you have a lot of resources in kitchen left to work on, and you started serving Indian and Italian food simultaneously to thousands of customers everyday but as time passed you started facing problem. Both Indian and Italian chefs are fighting for resources so you increased you kitchen size to double which worked for sometime but again it happened that they started fighting for resources and overlapping each others work. This is what we call bare metal servers. Where your code are deployed directly on systems. Example you have two projects running simultaneously.
This was hampering performance of both Italian and Indian chefs as they have to wait. So you decided to give them own separate resources by dividing already available resources. This is what we call Virtualization in technical world.
Now they are restricted to own resource and area. They cannot interfere each others processing of food.
This was basic introduction of virtualization. There are many more things to virtualization. Like hardware level virtualization (hypervisors) eg. VirtualBox, VMWare Player, containers - OS level containers eg LXC/LXD, Application level containers eg Docker, their orchestrations with DCOS, Mesos, Kubernetes etc which I will to one by one in their own specific articles.
Happy Learning! Happy Coding!
Stay Safe! Stay Home!