Containerization (computing) explained

In software engineering, 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

Each container is basically a fully functional and portable cloud or non-cloud computing environment surrounding the application and keeping it independent of other environments running in parallel.[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 operating system kernel (OS).[5]

In recent times, containerization technology has been widely adopted by cloud computing platforms like Amazon Web Services, Microsoft Azure, Google Cloud Platform, and IBM Cloud.[6] Containerization has also been pursued by the U.S. Department of Defense as a way of more rapidly developing and fielding software updates, with first application in its F-22 air superiority fighter.[7]

Types of containers

Security issues

Container management, orchestration, clustering

Container orchestration or container management is mostly used in the context of application containers.[8] Implementations providing such 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.

See also

Further reading

Journal articles:
Books:

Notes and References

  1. Web site: Scheepers . Mathijs Jeroen . Virtualization and Containerization of Application Infrastructure: A Comparison . Thijs Scheepers . 2014 . 18129086 .
  2. Web site: What is containerization?. live. 2021-07-10. www.redhat.com. RedHat. en. https://web.archive.org/web/20210508174632/https://www.redhat.com/en/topics/cloud-native-apps/what-is-containerization . 2021-05-08 .
  3. Web site: Hinck. Tim Maurer, Garrett. Hinck. Tim Maurer, Garrett. Cloud Security: A Primer for Policymakers. 2021-07-10. Carnegie Endowment for International Peace. en.
  4. Web site: Rubens. Paul. 2017-06-27. What are containers and why do you need them?. 2021-07-10. CIO. en.
  5. Web site: Containerization. 2021-07-10. www.ibm.com. en-in.
  6. Web site: December 2019. Jonas P. DeMuro 18. What is container technology?. 2021-07-10. TechRadar India. 18 December 2019. en.
  7. Web site: Flight Test Clears F-22 Fleet To Accept Third-Party Software . Aviation Week . 30 August 2022.
  8. Web site: What is Container Orchestration? Definition & Related FAQs . 2024-04-29 . Avi Networks.