ABSTRACT

Containerization is one of the most recent advancements in cloud computing. Containers are a small package of software components that bundle an application, dependencies, and settings into a single image that may be operated in isolated user environments on a physical machine or in a virtualized environment. Containers as a service (CaaS) is a cloud service model that allows users to execute their tasks in an isolated environment. In CaaS, containers are deployed in a virtual machine (VM), and in turn, virtual machines are deployed in a physical machine (PM). Containers virtualize software, i.e., operating system (OS), and the virtual machine is the mechanism of hardware virtualization. Hence, CaaS is also termed hybrid virtualization. This chapter discusses different virtualization techniques in the cloud, the difference between hardware and software virtualization, what containers are and why to use containers, and the architectural difference between virtual machine and container. We discuss the CaaS cloud model, the architecture and implementation of CaaS, and the advantage and disadvantages of CaaS. Then a detailed discussion on the research challenges available with the CaaS model is presented. Finally, the chapter is concluded with a few future directions.