Containers for Virtualization: an Overview
Total Page:16
File Type:pdf, Size:1020Kb
ISSN 2255-8691 (online) Applied Computer Systems ISSN 2255-8683 (print) May 2018, vol. 23, no. 1, pp. 21–27 doi: 10.2478/acss-2018-0003 https://www.degruyter.com/view/j/acss Containers for Virtualization: An Overview Vitor Goncalves da Silva1*, Marite Kirikova2, Gundars Alksnis3 1–3 Riga Technical University, Riga, Latvia Abstract – Virtualization has enabled the commoditization of not come without the side effects [6]. Docker is just one of the cloud computing, as the hardware resources have become possible approaches for containers in virtualization; it offers the available to run different environments and share computing complete solution for a container platform. To see the spectrum resources amongst different enterprises. Two technology types are commonly used in virtualization of hardware, namely, hypervisor of the container technology ecosystem, a systematic literature and container. The present paper concerns only container review has been conducted to obtain an overview of container technologies. platform components and their alternatives. A comprehensive overview of the container technologies for virtualization and the dynamics of their popularity have not been II. RESEARCH METHODOLOGY available yet. Without such an overview, the informed fast choice of technologies is hindered. To fill this knowledge gap, a systemic The present paper aims at identifying technologies associated literature review was conducted to reveal the most popular with container technology, summarising its adoption in cloud- container technologies and the trends in their research. based environments, grouping and classifying key components of this technology and finally identifying research trends in this Keywords – Application virtualization, distributed computing, field. To achieve the goals mentioned previously, a systematic distributed processing. literature review has been conducted. Related work. As a first step for conducting a systematic I. INTRODUCTION review, a search for related literature has been performed. Research questions. The goal of this survey is to review Virtualization has enabled the commoditization of cloud existing research in order to assess the adoption of container computing, as the hardware resources have become available to technology and identify trends in this research field. To achieve run different environments and share computing resources the goals, the following research questions have to be answered: amongst different enterprises. As the adoption of cloud • What technologies are associated with the computing has become a norm on a large-scale enterprise implementation, control, and monitoring of containers? level [1], the improvement of resource sharing is a logical next • How is the research distributed in the field? step. Container technology improves the sharing of hardware 1. Publishing entity. resources by eliminating one layer of the infrastructure 2. Chronologically. configuration and setup. 3. Geographically. Running a virtual instance of a computer system in a layer Eligibility criteria. A list of criteria is derived in order to abstracted from the physical hardware is the basic concept of include or exclude certain articles that are found on the related virtualization. The applications which run on top of the subject. The word “container” has homographs and therefore virtualized machine operate without knowledge of any must be searched in combination with lexicons to minimise intermediary layer [2]. unrelated papers appearing in the search results. Two technologies are commonly used in virtualization of Mandatory criteria for including the article are: hardware, the hypervisor and the container. The hypervisor • The study is published in English and available in provides virtual machines (VM), which requires the Scopus [7]. provisioning of an operating system. Containers do not require • The study contains comprehensive conclusions of the provisioning of an operating system; however, they can also performed review or application of container technology. run inside a VM. Both technologies support isolation and multi- One of the following additional criteria must be met to tenancy [3]. Linux containers share close concepts with virtual include the article in the research scope: machines. However, their operational flow presents some • The study considers the subject of Containers in the differences. context of software systems. Container technologies, such as Docker [4], offer • The study considers the subject of Microservices unprecedented agility in developing and running applications in Architecture and its underlying infrastructure. a cloud environment, especially when combined with a • The study considers the subject of DevOps and the microservice-style architecture [5]. It enables the design of adoption of container technology. multiple tenancy applications with less overhead when Matching one of the following criteria results in the exclusion compared with the hypervisor. There are some security of article from the scope of the survey: implications with the use of containers. Thus, the benefit does • Studies were not peer-reviewed or published. * Corresponding author’s e-mail: [email protected] ©2018 Vitor Goncalves da Silva, Marite Kirikova, Gundars Alksnis. This is an open access article licensed under the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), in the manner agreed with De Gruyter Open. 21 Applied Computer Systems ________________________________________________________________________________________________ 2018/23 • Studies that did not answer the research question at least The resulting list contains 16 articles that qualify according to partially. the search criteria described previously (see Table I). • Studies that did not derive potential future improvements from the research conducted. III. CONTAINER TECHNOLOGY STACK Look-up concepts. Based on the questions that have to be Docker container platform has solutions for most layers of answered during this survey and considering limitations the container technology stack. The layers covered are proposed by the exclusion criteria, at the beginning of container engine, scheduling, orchestration, image management systematic review the domain related concepts and notions have and configuration management. Docker’s market share position been defined. These concepts have been used in the search: and breadth of solutions make its name ubiquitous with • ALL (“containers” AND “cloud”) AND (LIMIT-TO container technology [32]. (SUBJAREA, “COMP”)); • TITLE-ABS-KEY (“microservices” AND (“infrastructure” OR “cluster”)). Look-up strategy. Systematic review guidelines suggest that searching in the title does not always result in all relevant publications. Therefore, the abstract or full-text of articles should also be considered. The search was restricted to the title and abstract of the studies. TABLE I SELECTED ARTICLES FOR REVIEW ON THE SCOPE OF THIS SURVEY Citation Year Title Network Function Virtualization: State-of-the-Art and [8] 2016 Research Challenges Large-Scale Cluster Management at Google with [9] 2015 Borg et al., Containers and Cloud: From LXC to Docker to Fig. 1. Reference architecture of cloud containers. [3] 2014 Kubernetes et al., Hypervisors vs. Lightweight Virtualization: A Containers are an abstraction at the application layer that [10] 2015 Performance Comparison et al., Containerization and the PaaS Cloud packages code and dependencies. Containers provide OS-level [11] 2015 virtualization by leveraging kernel features to isolate processes et al., Skyport – Container-Based Execution Environment and define system usage limits for resources such as CPU, [12] 2014 Management for Multi-Cloud Scientific Workflows memory, disk I/O and network. Multiple containers can run on et al., An Architecture for Self-Managing Microservices the same machine and share the operating system OS kernel [13] 2015 et al., The Research and Implementation of Cloud with other containers, each running as isolated processes in user [14] 2014 Computing Platform Based on Docker space. Containers take up less disk and memory space than et al., Container and Microservice Driven Design for Cloud VMs, containers are also considerably smaller in terms of [5] 2016 Infrastructure DevOps storage space required, with a smaller energy consumption et al., Distributed Systems of Microservices Using Docker footprint [27], and start almost instantly. The container has all [15] and Serfnode 2015 the dependencies it needs to run it: code, runtime, system tools, et al., Leveraging Linux Containers to Achieve High [16] 2015 Availability for Cloud Services system libraries, settings. Available for both Linux and et al., Cloud Services in the Guifi.net Community Network Windows-based apps, the containerized software will always [17] 2015 run the same, regardless of the environment [5], [11]. Those ROAR: A QoS-Oriented Modelling Framework For et al., who want to deploy applications with the least infrastructure [18] Automated Cloud Resource Allocation And 2015 Optimization will choose a simple container-to-OS approach. This is why container-based cloud vendors can claim improved performance et al., Integrating Containers into Workflows: A Case Study [19] 2015 Using Makeflow, Work Queue, and Docker when compared to hypervisor-based clouds [9], [10]. et al., A REST Service Framework for Fine-Grained The layering composition illustrated in Fig. 1. depicts the [20] 2015 Resource Management in Container- Based Cloud