Telco Cloud - 04. Introduction To Hypervisor, Docker & Container
Telco Cloud - 04. Introduction To Hypervisor, Docker & Container
info
1. What is Hypervisor?
2. What is Container & Docker?
3. Difference between container Vs hypervisor
4. Benefits of Container
5. Use Cases in Telco Industry
Overview
There are two ways to implement Virtualization, 1st One is traditional Virtual Machine based
hypervisors & 2nd one is more advanced where we are use Containers
If you’re a techie or work in IT or Telecom or Network domain, this becomes necessary for you
to understand this Virtualization technology as Everyone from Large Scale Mobile operators
to Giants like Google and Amazon are building services to support it. Here, we will cover high
level concepts of Hypervisor based Virtual Machines and Container which are easy to
remember for life time
Container is based on advanced technology and provide effective Alternative for Virtual
Machines running on Hypervisors. Here we are going to cover another aspect of Virtualization
where we go deep in understanding what is Virtual Machine based Hypervisor & New
technologies in this field by name of Docker & Container
1|Page
Module 04 - Introduction to Hypervisor , Docker & Container
www.telecomtutorial.info
What is Virtualization
First thing First …. What are “containers” and “VMs or Virtual Machines”?
VMs or Virtual Machines and Containers are going to do same thing. i.e. Virtualization, Their
Goals are same. They are going to enable Applications to use virtual resources such as Virtual
Hardware, Virtual Compute, Virtual Network in much more scale-able and flexible way. With
Virtualization, there is no need for physical hardware allowing for more efficient use of
computing resources, both in terms of power, space, Infra and cost effectiveness. The main
difference between containers and VMs is in their architectural approach, Let’s start our
journey
What is Hypervisor?
Virtualization Journey
Our topic is Introduction to VM Hypervisor, Docker & Container. With time, things have
changed a lot. Virtualization is one of these innovative technologies that was invented
somewhere around 1960s by the IBM. Since its inception, this virtualization technology has
helped transform the way people compute. In today’s world this virtualization technology is
used to logically separate the physical resources of a server and use them as different isolated
machines, called Virtual Machines. The CPU becomes many virtual CPUs, Storage & RAM
2|Page
Module 04 - Introduction to Hypervisor , Docker & Container
www.telecomtutorial.info
have become virtual Memory, Network or NIC cards resources have become virtual Network
resources
What is Hypervisor
Gone are days when we are running one application on one server and by physical servers, I
mean hardware just like the one you’re seeing in left hand side. This type of deployment
requires new server Every time we want to have new application or new service
The problem with this traditional deployment on left hand side is:
1. Most of Server are under-utilized, say they are running on 10 % type of utilization
2. Any new requirement takes multiple days & months to be fulfilled, as this requires new
server procurement, arrangement, deployment etc. Business needs this to be fulfilled
of yesterday
3. There is always issue with flexibility as traditional model is dependent on underlying
Hardware specific Variables & Environment to function properly
On Right hand side, you can see Virtual Machine with help of Hypervisor where we are running
multiple Applications on top of Core Hardware and Hypervisor layer. A VM or Virtual Machine
is essentially an emulation of a real computer that executes programs like a real computer.
VMs run on top of a physical machine using a hypervisor
Applications. Here resources are abstracted as Virtual Compute, Virtual Storage & Virtual
Network (The abstraction means a software emulation of that hardware). The Apps are only
interacting with Guest OS which is using these virtual resources instead of physical hardware
With help of Virtualization, we can instantly access nearly limitless computing resources which
allow for faster and Flexible roll out of business requirements. With Virtualization, we can
improve overall App performance due to better and faster scalability, better utilization and
availability of resources
Role of Hypervisor
Now, we know what is Virtualization & How Virtual machine works, Let’s understand What is
Hypervisor & how it works. Hypervisor is building block for Hosting Applications and Virtual
Machines. The role of hypervisor to take resources from Physical computers. Further these
resources are emulated and abstracted as software and provided to various VMs in form of
Virtual Compute, Virtual Storage & Virtual Network. One VM can’t consume resources
allocated to another VM. Hypervisor isolates and protects these VMs from each other. In case
one of VM or Virtual Machines exhausts all its resources, it’s not allowed to simply eat up
resources for another VM
The Hypervisor runs on Host Machine using Host Operating systems and physical resources.
It further hosts multiple VMs also called as Guest Machines. This guest machine or VM
contains: -
1. Guest Operating system such as MAC, Windows or Linux. Pls note that this Guest can
be different from Host Operating System where Hypervisor is running
2. The application and supporting system binaries and libraries
4|Page
Module 04 - Introduction to Hypervisor , Docker & Container
www.telecomtutorial.info
Container Ship
Before we get into deep understanding of Containers, Let’s understand, why we call container
as Container. You can see physical containers on Screen. There are few great Qualities of
these physical Containers which we are going to use in Virtualization world. Let’s discuss
similarities between Physical container and Virtual container
Containers are complete Package. They contain both application and respective libraries and
any other dependencies. These containers are then shipped as one package which ensures
it will run without any fault on every other cloud and any other machine
5|Page
Module 04 - Introduction to Hypervisor , Docker & Container
www.telecomtutorial.info
3. The 3rd Quality of Physical Container on Ship is Lightweight: Just like physical
Container are lightweight and easy to install / remove. The Virtualized Containers are
also very very Light. They share the machine’s OS system kernel and therefore do not
require an OS per application, This drives lot of efficiency
4. The 4th Quality of Physical Container on Ship is Security & Protection: Just like
Goods are safe in Physical Container; Applications are safer in containers and Docker
provides the strongest default isolation capabilities. The Application running in
container is safe, gets complete dependencies and will not get impacted by Outside
world
Hypervisors Vs Container
Hypervisors Vs Container
Container
Containers does the same work as Virtual Machines, they serve the same purpose but they
do it differently. On left hand, there is Virtual Machine using Hypervisor. On right hand side,
there is Container. With Virtualization, Both VM & Containers are eliminating the need for
physical hardware, improving efficiency of compute and helps in speed and scale
As you can see on Right hand side, Multiple containers are running on same machine and
same Host operating system. They don’t need separate Guest OS and share the kernel of
Host OS with other containers. You can see 3 Containers on One Machine … Container 1,
Container 2, Container 3. These all 3 Containers are running in isolated processes in user
space
6|Page
Module 04 - Introduction to Hypervisor , Docker & Container
www.telecomtutorial.info
1. Guest Operating System not required: The biggest difference between both is
absence of Guest OS on Container. Instead, Container uses these resources for
application which does meaningful work rather than wasting same in Guest Operation
System. Each container gets its own isolated user space to allow multiple containers
to run on a single host machine
2. Light Weight: Since, there is no Guest Operating system in Container, The Host
Operating system is itself used and shared by all containers. Only few additional
Libraries are required by Container to work. This makes containers so much lightweight
3. These two points makes containers fairly small in size as compared to Virtual
machines. We have tried to show you this with example of Elephant Vs Mouse.
Hypervisor based virtual machine represents Elephant whereas mouse represents
smaller Container
4. Lightning Fast: One of the other key benefits of containers is lightning fast speed.
Containers are at least 9x faster than Virtual machines, they are created and destroyed
in few seconds as we don’t need to boot up any additional Operating system. This
speed is really helpful in situations where we need things to be happening really fast.
You can see example of Tortoise and Rabbit where Hypervisor represents slow
Tortoise and container represents fast Rabbit
6. Portability: With help of Dockers, the containers are so powerful & so much portable.
Anyone from Coders, developers can develop these applications in Lab & Test same.
The same code then can be ported to anywhere such as public cloud, private cloud
etc. There is no extra dependency required for running this Application in any
environment. The container is world in itself & ensure seamless migration of code to
any Platform. We also call containers. “build once, run anywhere”. I am again iterating.
Containers are complete Package. They contain both application and respective
libraries and any other dependencies as One package. This package will run without
any issue on any infrastructure. You can never achieve this portability with Hypervisor
due to these dependency
7. Modularity and Scalability: Docker are used to scale in, scale out capacities on
modular basis. The entire process is very automated and empowers entire process
7|Page
Module 04 - Introduction to Hypervisor , Docker & Container
www.telecomtutorial.info
What is Docker
What is Docker
Docker is an essential tool designed to manage Container. Docker is directly responsible for
create, deploy, and run applications based on containers. It was first released in 2013 and is
developed by Docker, Inc.
Docker is used to run software packages called “containers”. Containers are created from
“images” that specify their precise contents. Images are often created by combining and
modifying standard images downloaded from public repositories. Docker manages them all.
There are 3 mains components to entire Docker working. BUILD, SHIP and RUN which we
will discuss in upcoming Cloud Videos
8|Page
Module 04 - Introduction to Hypervisor , Docker & Container