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 guest. It 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
Post a Comment