Containerization (computing)
Containerization is operating system-level virtualization or application-level virtualization over multiple network resources so that software applications can run in isolated user spaces called containers in any cloud or non-cloud environment, regardless of type or vendor.[1]
Usage
The containers are basically a fully functional and portable cloud or non-cloud computing environment surrounding the application and keeping it independent from other parallelly running environments.[2] Individually each container simulates a different software application and runs isolated processes[3] by bundling related configuration files, libraries and dependencies.[4] But, collectively multiple containers share a common OS Kernel.[5]
In recent times, the containerization technology has been widely adopted by Amazon Web Services, Microsoft Azure, Google Cloud Platform, and IBM.[6]
Types of containers
- OS containers
- Apps containers
Security issues
- Because of common OS, security threats can affect the whole containerized system.
- In containerized environments, security scanners generally protect the OS but not the application containers, which adds unwanted vulnerability.
Container management, orchestration, clustering
Container orchestration or container management is mostly used in the context of application containers. Implementations providing such an orchestration include Kubernetes and Docker swarm.
Container cluster management
Container clusters need to be managed. This includes functionality to create a cluster, to upgrade the software or repair it, balance the load between existing instances, scale by starting or stopping instances to adapt to the number of users, to log activities and monitor produced logs or the application itself by querying sensors. Open-source implementations of such software include OKD and Rancher. Quite a number of companies provide container cluster management as a managed service, like Alibaba, Amazon, Google, Microsoft.
Further reading
Journal articles
- Bentaleb, Ouafa; Belloum, Adam S. Z.; Sebaa, Abderrazak; El-Maouhab, Aouaouche (8 June 2021). "Containerization technologies: taxonomies, applications and challenges". The Journal of Supercomputing. doi:10.1007/s11227-021-03914-1. S2CID 236220833.
- Watada, Junzo; Roy, Arunava; Kadikar, Ruturaj; Pham, Hoang; Xu, Bing (2019). "Emerging Trends, Techniques and Open Issues of Containerization: A Review". IEEE Access. 7: 152443–152472. doi:10.1109/ACCESS.2019.2945930. S2CID 204970781.
- van den Berg, Tom; Siegel, Barry; Cramp, Anthony (April 2017). "Containerization of high level architecture-based simulations: A case study". The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology. 14 (2): 115–138. doi:10.1177/1548512916662365. S2CID 64405143.
- Zhang, Xiao; Tang, Yu; Li, Hao; Liu, Shaotao; Lin, Di (2021). "Containerization Design for Autonomous and Controllable Cloud Distributed System". Communications, Signal Processing, and Systems. Lecture Notes in Electrical Engineering. Vol. 654. pp. 30–38. doi:10.1007/978-981-15-8411-4_4. ISBN 978-981-15-8410-7. S2CID 236762442.
- Odun-Ayo, Isaac; Geteloma, Victor; Eweoya, Ibukun; Ahuja, Ravin (2019). "Virtualization, Containerization, Composition, and Orchestration of Cloud Computing Services". Computational Science and Its Applications – ICCSA 2019. Lecture Notes in Computer Science. Vol. 11622. pp. 403–417. doi:10.1007/978-3-030-24305-0_30. ISBN 978-3-030-24304-3. S2CID 195769647.
Books
- Gabriel N. Schenker, Hideto Saito, Hui-Chuan Chloe Lee, Ke-Jou Carol Hsu, (2019) Getting Started with Containerization: Reduce the operational burden on your system by automating and managing your containers, Packt Publishing, ISBN 9781838649036
- Jeeva S. Chelladhurai, Vinod Singh, Pethuru Raj (2014), Learning Docker, Packt Publishing, ISBN 9780988820203
See also
References
- ^ Scheepers, Mathijs Jeroen (2014). "Virtualization and Containerization of Application Infrastructure : A Comparison" (Document).
{{cite document}}
: Cite document requires|publisher=
(help); Unknown parameter|s2cid=
ignored (help); Unknown parameter|url=
ignored (help) - ^ "What is containerization?". www.redhat.com. RedHat. Archived from the original on 2021-05-08. Retrieved 2021-07-10.
- ^ Hinck, Tim Maurer, Garrett; Hinck, Tim Maurer, Garrett. "Cloud Security: A Primer for Policymakers". Carnegie Endowment for International Peace. Retrieved 2021-07-10.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ Rubens, Paul (2017-06-27). "What are containers and why do you need them?". CIO. Retrieved 2021-07-10.
- ^ "Containerization". www.ibm.com. Retrieved 2021-07-10.
- ^ December 2019, Jonas P. DeMuro 18 (18 December 2019). "What is container technology?". TechRadar India. Retrieved 2021-07-10.
{{cite web}}
: CS1 maint: numeric names: authors list (link)