The state‐of‐the‐art in container technologies: Application, orchestration and security. (19th January 2020) - Casalicchio, Emiliano; Iannucci, Stefano
Summary: Containerization is a lightweight virtualization technology enabling the deployment and execution of distributed applications on cloud, edge/fog, and Internet‐of‐Things platforms. Container technologies are evolving at the speed of light, and there are many open research challenges. In this paper, an extensive literature review is presented that identifies the challenges related to the adoption of container technologies in High Performance Computing, Big Data analytics, and geo‐distributed (Edge, Fog, Internet‐of‐Things) applications. From our study, it emerges that performance, orchestration, and cyber‐security are the main issues. For each challenge, the state‐of‐the‐art solutions are then analyzed. Performance is related to the assessment of the performance footprint of containers and comparison with the footprint of virtual machines and bare metal deployments, the monitoring, the performance prediction, the I/O throughput improvement. Orchestration is related to the selection, the deployment, and the dynamic control of the configuration of multi‐container packaged applications on distributed platforms. The focus of this work is on run‐time adaptation. Cyber‐security is about container isolation, confidentiality of containerized data, and network security. From the analysis of 97 papers, it came out that the state‐of‐the‐art is more mature in the area of performance evaluation and run‐time adaptation rather than in security solutions. However, the main unsolved challenges are I/O throughput optimization, performance prediction, multilayer monitoring, isolation, and data confidentiality (at rest and in transit).