Everything you need to know about Virtualization
Published: 2022-07-03 21:46:35

Hi there. If you're reading this article it means you're either curious about cloud computing or just heard about the word virtualization and got curious. Well whatever it is I assure you this article will provide you with the right amount of information you need in the simplest terms so just sit back and enjoy the ride!
    Anyway before we go further, its only right for us to first of all define virtualization. What is it anyway? Well, virtualization is simply the foundation on which cloud computing lay. Virtualization uses software to create an "Abstraction Layer" over computer hardware that allows the hardware elements of a computer like processors, memory, storage, etc to be divided into multiple virtual computers which we call VIRTUAL MACHINES. 
 Now, one very important thing to note is that cloud computing is NOT the same thing as virtualization. Instead, virtualization enables cloud computing. 
                 SERVER VIRTUALIZATION
"Server Virtualization is the process of dividing a physical server into several virtual servers, called virtual private servers." The benefit of server virtualization includes the fact that each of the multiple virtual private servers run in an "Isolated" condition, meaning they are independent of each other. Its also beneficial as it is used in IT infrastructure to minimize the cost by increasing the utilization of existing resources.(Since one physical server is being divided into multiple virtual servers, we save more money.)
      Types of Server virtualization
1. Hypervisor based virtualization
      A software called a hypervisor sits on the physical hardware and "abstracts" the machines resources, resources like storage, memory, etc
there are 2 types of hypervisors 
- Type 1 or Bare metal hypervisors (or bm like i like to call them) These are loaded directly on the hardware and examples are Microsoft Hyper-v, VMware ESXi
- Type 2 or Hosted hypervisors. Just as the name implies, they are "Hosted" on the OS running on the hardware. Examples include Oracle virtualbox, VMWare Workstation.

2. Operating System Virtualization
This form of virtualization Does NOT indeed  make use of a hypervisor at all. Instead, the host OS performs all the functions of a fully virtualized hypervisor. 

                 CONTAINERS
It would be a crime to talk about virtualization without talking about containers. What are containers? Well one thing I can tell you is they're not your regular containers. "Containers in cloud computing are packages of software that contain all of the necessary elements to run in any environment." "Don't they do the same thing as virtual machines?" You might ask, well yes and no. There are key differences between containers and virtual machines that I will highlight below.

A. Space 
   Virtual machines take up space! This is because with VMs, a guest OS is needed. With containers on the other hand they don't take up as much space because different containers can be hosted on the same host OS
B. Resource efficiency
      Containers are more resource efficient because the extra resources needed for each OS is eliminated, since we're hosting all the containers on the host OS unlike VMS, in which additional resources are needed for each OS
C. Downtime
      Vms May take several minutes to boot up their OS and begin running the applications they host but containerized apps run almost instantaneously
D. Vms can have an OS that is different from that of host machine, but containers can not. 
    In Conclusion, Virtualization is the bedrock of cloud computing and as such is a very important concept to understand.