Energy Efficient Next Gen of Virtualizat
Energy Efficient Next Gen of Virtualizat
Abstract—In the new software-dri ven worl d this is the with the same operating systems and runtime co mponents.
need of the hour to achieve success by accelerating Containerizat ion is evolving and provisioning major impact in
development, deli very of applicati ons and services rapi dl y Modern computing technologies. By means of containers,
that make customers happy and business competiti ve. To developers can encapsulate all co mponents, binaries, libraries
achieve faster deli very of resources and applications to and make it as separate micro-services of an applicat ion with
strengthen the business with more transformati ons continuous integration exercise process to make the
containers have been introduced. At the existing scenario, application more ag ile with resilient. Applications in the
the hyper -converged data centre uses the concept of microservice approach consist of many decoupled services
virtualizati on which creates software abstracti on of the independent of each other. Each of these services performs a
underlyi ng hardware using Hypervisor software that specific task that is developed and deployed independently [2].
enables to execute several Virtual Machines (VMs) wi th
dissimilar Operating System (OS) fl avours. B ut Docker is also playing an emerging role in container-based
virtualizati on is heavyweight and it may take more ti me t o cloud autonomic data centre. Scalable container service has
boot. The proposed containerization and docker in hybri d been used by most cloud service providers like IBM, Amazon,
cloud composable data centre is lightweight supports Google, Alibaba. Docker containers can easily be deployed
Operating System (OS) level virtualization that isolates into the cloud-based environment [3].
resources, libraries and other bi naries bundled into a The unique approach has been utilized by container-based
single package for agile modern scalable workloads. This virtualizat ion illustrate about the virtualization layer which is
paper focuses on the container-based virtualization to available on the top and the application runs within the OS. It
shape the future cloud-based modern data centre for has to be noted here as default host OS is considered at the
supporti ng the micro-services based applications for faster base [4]. In container-based Virtualization, a single OS will
depl oyment to Developer Operations (DevOps) teams in IT take care of all hardware calls.
wi th resiliency, High Availability and better resource In Containers, the layer of virtualizat ion has provided a file
management with energy savings. system and similarly, the layer o f kernel service separation has
assisted to isolate resource from all VMs to make containers
Keywords-Hypervisor, Container, Docker, Virtualization, look like an individual server [5]. Th is paper is a review of the
Agile, High Availability, Hyper-Converged, DevOps, Micro- technology of docker and analyses its performance by a
services. systematic literature rev iew. The wo rk is organised as follow.
Next section discusses the literate review of existing VMs and
the Next-Gen v irtualisation is container-based. In Sect ion III,
I. INTRODUCTION the benefit of Container-based virtualization whereas Section
deals with the co mponents and significants of the docker
In the past decade, the computing paradigm has a rapid shift container. In section V, the architecture of docker is illustrated
fro m on-premise trad itional infrastructure to on-demand and similarly in section VI microservice arch itecture and
Hybrid cloud Infrastructure. Most of the IT organisations and challenges. In section VII the arrangements of the container by
enterprises moved to cloud for the development of core Kubernetes And Docker Swarm. Section VIII illustrates the
business. Cloud Serv ice Providers (CSP) has been providing comparison of performance evaluation in proposed
flexib le, scalable and elastic infrastructure of IT in term of architecture with existing VMs arch itecture. Section IX
virtualizat ion technology with VMs [1]. The usage of VMs concludes that software-defined DC may rely on container and
may incur energy and wasting the computing resources by VM p lacement mechanisms to support next-generation
running the same operations and content with various guest applications.
operating systems. To avoid this inefficiency and energy
consumption, the container technology has been introduced to
increase resource usage efficiency for business agility and
improvement in deploy ment by sharing the same infrastructure
II. LITERATURE REVIEW TABLE. I: Ideal d ifferences between Virtual Machines and
Containers
In Modern clouds, Virtualization is one of the vibrant concepts S.No CHARACTE VMs CONTAINERS
for sharing physical resources among various users [6]. . RISITICS
Virtualizat ion based on hypervisor helps the data centre 01 Abstraction Hardware-level OS-level
resources can be utilised efficiently by means of consolidation abstraction abstraction
to a single system and even assist for fault tolerance and 02 Number of Multiple kernels Single kernel
replication with other geographical areas [7]. kernels for multiple for various
Virtualizat ion is widely classified into two categories such as VM’s on a containers on a
Full v irtualization and Paravirtualizat ion. In the process of physical physical
Full virtualizat ion has created virtual resources such as machine machine.
storage, processor and network to run various flavours of 03 Booting time Takes a few Takes a few
guest OS on a single physical machine which are unaware that minutes seconds
they are existing in virtualised location [8]. Most importantly 04 Live Migration Takes more time Shorter time
all operating systems think as it runs on bare-metal. Full Time because of because of
Virtualisation is imp lemented through VM ware. It is running heavy migrating
important to note that windows Hyper-V use Microsoft kernel applications specific OS
and ESXi server by Linu x Kernel. In Para-Virtualisation to components
satisfy the necessary resource requirements, the applicat ions instead of the
of guest are acco mplished in quarantined fields wh ich have whole OS
identified as guests and instruct command straight to the OS of 05 Predictability Though post Predictability
the host. The Para-Virtualisation can be used with the Zen in Live- copy offers due to smaller
family. Virtualization is heavyweight and can cause high Migration better prediction memory
resource overheads. but not footprint.
One of the significant factor done through microservice satisfactorily
virtualizat ion is to develop the cloud application performance [12]
whereas there are several researchers involved in analyzing
various virtualizat ion technique performance [9]. The alternate
emerging technology to virtualization is containerizat ion that
assists in obtaining popularity in VMs because of its high
scalability, high performance and light weighted. The Barik et
al. has made a co mparative analysis over the performance of
VMs and container with several simu lations [10]. However,
the architecture of container differs fro m VMs and the main
distinguish is about sharing of host OS can be done by
container but in virtualization it can be done at kernel level.
Therefore, the requirement of container is guest process which
has been compatible with host kernel is shown in figure I.
Thus, container is compared to VMs in wh ich every VM has
its individual guest OS whereas the container reduced its
overhead by introducing dissimilar guest OS to various
container process. This get resulted in requirement of less
memory, reduced infrastructure cost with high performance.
The other Next -Gen v irtualisation is container-based or OS-
level based virtualisation is an alternate to hypervisor-based
virtualisation effectively reduces resource overheads and
improves resource utilisation with faster deployment in FIGURE.I: Virtual Machine vs. Container [13]
modern data centres for heterogeneous modern workloads is
illustrated in Table I. In containerisation, each separate case is
said to be Container which executes on the top of a shared OS III.BENEFITS OF OS-LEVEL BASED OR
along with proper and required isolation. In Containerisation CONTAINER VIRTUALISATION
the virtual objects are restricted to global kernel resources
which result in utilizing resources like networking, CPU and
memo ry for cost-efficient management, scalable and Co mpared to conventional Hypervisor based virtualization,
effectiveness efficient over cloud infrastructure [11]. containerizat ion improves performance, energy and efficiency
because of additional resource required for each OS is
avoided. The Container-based virtualisation fits best when a
single OS is required. Single Kernel is used to execute several Utilization of resources: The physical servers can
cases of an OS. In the OS level, virtualisation doesn’t able to execute more containers than VMs which can
duplicate its functionality. result in high resource utilization. Ho wever, the
In Container-based virtualisation instances are very smaller containers are thin, effective and portable that can
and it is faster and easier for generating or mig rating. Cloud able to execute on the physical host. Containers run
Service Providers (CSP) have involved in containers due to as an isolated process and it contains application code
the same hardware environment in wh ich more instances of a with dependencies and also shares a kernel with
container can be implemented. various containers in the user’s host OS space [17].
Challenges faced in the use of containers: Exact fit for Microservices architecture: Containers
support microservices architecture as every
One of the major disadvantages present in container-based microservices that can be implemented with no
virtualizat ion is security. However, the containers can able to disturbance with other microservices. Containers are
share the components and kernel o f the host OS. It is to be appropriate to service arrangement by means of
noted here that Virtual Machines shares only the hypervisor agility, separation and easy deployment with new
make less prone to attack [14]. versions.
In containers, the host OS has created a single point situation
on failures of host OS may affect any containers. Portability: Docker can embed any kind of
application needs over a container is portable across
various platforms. The application of distributed can
IV. DOCKER CONTAINERS able to create, imp lement and execute through
containers. Inside the containers deployment,
orchestration can be done so that application
The name of the organizat ion is Docker that creates software developers can execute a similar applicat ion on VMs
named as Moby which is an open-source project whereas the or in the cloud.
Docker gets executed on Windows and Linu x. The usage of a
container is quite simp le to generate, imp lement and execute Minimal resource utilization: Docker can allocate
applications designed with Docker tool. Docker helps the limited resources to any kind of processes by LINUX
developers to get a clear view of the stack easily. control groups. It confirms that a single process
doesn’t consume more co mputer resources on
underfed other processes.
A. The different parts in Docker are:
B. Significant advantages of Container Dockers REST API: REST API can able to access via HTTP
are: client and to communicate with Docker daemon.
B.Architecture of Docker Client-Server: The Docker client with the build, pull and run has been
communicated to the daemon of docker that perform in
The architecture of Docker system is majorly involved with generating better lift in the build ing, distributing and executing
client, registry and DOCKER-HOST (Daemon). the docker container. However, the execution is done either on
a similar system fro m docker client and docker daemon or it
Docker Client: Through the Docker client users can can able to connect docker client through remote of docker
interact with Docker Daemon using the co mmands in daemon. Therefore, the co mmunication of docker client and
CLI through Docker API interface. However, the daemon has used UNIX network interface by REST and API
Docker objects can be created by the command that is shown in figure II.
gets executed by Docker. Hence, the Multiple Docker
Daemons have been accessed by the Docker client.
VI. EVOLUTION OF MICROSERVICES
Docker Registries: Docker registry is a place where
the images are created using Docker daemon wh ich In a monolithic applicat ion where the co mponents of the
application, interface, data access code has been strongly
gets shared in a location. Moreover, the available
coupled as a single program. Most of the application is still
public reg istries are Docker hubs that can be accessed
fro m all users. Hence, it is to be noted that the based on monolithic because it is easy to imp lement, test and
deploy.
Docker hub can also be utilized fo r configuring
private registry. Thus, the Docker PULL is utilized to
retrieve an image fro m the registry wh ich gets Features of Microservices:
configured and similarly Docker PUSH is used to Agile delivery: Services get decomposed into
store an image in the registry. logically modular in which the independent
microservices assist in to perform with Agile
Docker daemon: It performs as a server process delivery, easily fits over DevOps model and faster
which is determined and runs in the background time to market.
looks on to REST API for the inco ming request and High performance and high availability:
to execute commands. API interface can be listened Containerized microservices has been leveraged to
by daemon using File Descriptor, UNIX, high performance and availab ility. The request of
Transmission Control Protocol (TCP) sockets. microservices with asynchronous nature assists in
improving the performance.
Docker Objects: The objects represent services, Resiliency and fault tolerance: Container eco-system
containers, images and storage. offers features such as clustering, load balancing,
circuit breaking and others to offer high resiliency
Images: To build an image, Docker file is used and and fault tolerance for the microservices. Thus, the
the file system is a read-only that consists of design is provided for with ag ile functionality
commands for creating a container to execute an degradation.
application. Thus, the Docker images can be utilized
for imp lementing an applicat ion overproduction or
test environment. Challenges of Monolithic services:
Difficult to test different modules of an application
independently.
Change in a piece of code in a particular module,
deployment of the entire service will take a long
time.
Monolithic services have a single point of failure
because bug present in any modules can down the
complete service.
Self Healing: During the execution, if the containers Kublet: One of the significant parts of the slave node
fail, Kubernetes automatically restart the containers is Container Engine (CE) and it will be essential and
and kill those containers that do not respond to make it possible for executing containers. Kubernetes
custom health checks [23]. can talk to Kublet for executing container that
executes on worker nodes.
B. KUBERNETES ARCHITECTURE
Pods: Kubernetes can take care of any hosts present
Kubernetes architecture mainly comprises of in a cluster and can join any hosts available over a
cluster to run container is known as POD. POD is
1.Master Node: mainly used for redundancy, scalability [25]. Group
of POD’s that can form an applicat ion and similarly
Kubernetes cluster can be managed by the Master Node and it storage is referenced to the POD wh ich can be inside
is the waypoint to the entire ad min istrative task. The or outside the cluster to the POD. Thus, the Kube-
controlling point is hosted by the Master Node is available for proxy has performed as a network pro xy that can
the whole environment is shown in figure IV. So me of the execute on every node over the cluster.
services in Master Node are:
3. Kubernetes Cluster:
C. DOCKER SWARM
Types of nodes in the swarm cluster: The ratio of total energy consumption and total interval
numbers is said to be average energy consumption is
formulated in equation 1. In addition, energy consumption is
Manager Nodes: It will handle the cluster
management tasks such as scheduling services, formulated in equation 2.
maintaining the state of the cluster and serving ∑
swarming mode through HTTP API endpoints. (1)