Virtualization and Containerization by Naval , Yuvraj and Saksham


In the present era of developing technology, we witness the world of hosting, and now the time came to familiarize the terms of and meaning of system and technology we are using, mainly virtualization and containerization are basically used by hosting industry, but there is yet confusion about it.
NOW, this discussion arises that which technology is better (as both technologies in their own) but let's see it, basically, it has been seen that the use of technology depends upon our work We are doing or basically our needs.
Virtualization-
[1]

So, virtualization is the emulation of system /server into many virtual machines without the use of hardware as hardware is virtualized or in a more simpler way, it is the existence of multiple smaller virtual servers (computers) within a larger server physical environment. The virtualization software which runs on any system (parent) provides (allocates) resources to each virtual machine such as hardware, libraries, drivers, etc. Virtual machine which is running on any system(servers) are isolated from each other (virtual machine).

NOW, the concept of virtualization is invoked by IBM  in the year in order to increase utilization of the physical system to more and more extent.”

Virtualization is done basically by the s/w called hypervisor(VMM).
Hypervisor is a software, firmware or hardware that recreates a hardware environment, allows us to run virtual machine and provide resources from the parent system to the guestIt is also called a virtual machine monitor(VMM).
There are basically 2 types of hypervisors-

     1)     Type 1/ bare-metal hypervisor-
It runs directly over hardware without any need of host operating system and interacts with the ISA layer of the machine reference model.
Type 1 hypervisor is more complex than type 2 hypervisor.

      2)     Type 2/ hosted hypervisor-
This type of hypervisor runs over the existing operating system which basically interacts with the API layer of machine reference model.
Type 2 hypervisor is less complex than type 1 and basically these are used in our personal systems.

Containerization-
[2]

Containerization basically refers to the methodology that allows us to run an application and its dependencies in an isolated environment which means one application or process may not affect the other process or applications. This is basically done with the help of technology called containers. In this method the applications are sharing the same resources like RAM, CPU, etc but runs in an isolated environment.

Containerization was developed as a second option to that of virtualization. One of the major reasons to develop the idea of containerization is that it may be easy to use containers rather than splitting of resources among different virtual machines. This architecture takes the benefits that virtualization gave to a higher level.
A market analysis says that the number of containers installed is growing by 40% every year. Containers are much quicker and have a size of a few megabytes. 

We can add and remove containers whenever needed thus increasing scalability and elasticity. The concept of containerization is decades old but the development of the Docker Engine in 2013 accelerated the adoption of this technology.

Virtualization vs containerization-


[3]

So basically, the comparison between virtualization vs containerization can be made in many aspects. Some comparisons based on these aspects are-

1. Speed-when it comes to speed containers are the best as they reduce the time to deploy an application and providing a suitable application run time environment for applications. The containers starts immediately as an operating system(OS) starts without any delay .It saves time in application running cycle whereas the virtual machine had to start its own OS which means full booting process again.

2.Security-In the field of security virtualization wins as virtual machines are isolated from each other and one infected virtual machine cannot affect other virtual machines due to isolation. This virtual machine runs on their own protocols and the infected virtual machine can't affect host OS, whereas in containerization they provide less security to file and application as process level only they depend more upon host security.

3.Resources-A virtual machine uses more resources as compared to containerization as the virtual machine uses a separate operating system, so every system call has to go through virtualization layer due to which an overhead is created causing more resources to be used.VM takes separate memory space. Even when VMs are off, they consume memory whereas, in containerization, they start very quickly so their memory doesn't increase, they create less overhead as they are using host OS without any hypervisor to go through.

4.Operating system- VM is suitable for using application trials in different OS as guest user for trying the full functionality of any operating system if more application requires the same OS environment functionality than container is a more practical solution.

References:



Comments