In
software engineering
Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining Application software, software applications. It involves applying engineering design process, engineering principl ...
, 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
In meteorology, a cloud is an aerosol consisting of a visible mass of miniature liquid droplets, frozen crystals, or other particles, suspended in the atmosphere of a planetary body or similar space. Water or various other chemicals may ...
or non-cloud environment, regardless of type or vendor. The term "container" is overloaded, and it is important to ensure that the intended definition aligns with the audience's understanding.
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. Individually, each container simulates a different software application and runs isolated processes by bundling related configuration files, libraries and dependencies. But, collectively, multiple containers share a common
operating system kernel (OS).
In recent times, containerization technology has been widely adopted by cloud computing platforms like
Amazon Web Services
Amazon Web Services, Inc. (AWS) is a subsidiary of Amazon.com, Amazon that provides Software as a service, on-demand cloud computing computing platform, platforms and Application programming interface, APIs to individuals, companies, and gover ...
,
Microsoft Azure,
Google Cloud Platform
Google Cloud Platform (GCP) is a suite of cloud computing services offered by Google that provides a series of modular cloud services including computing, Computer data storage, data storage, Data analysis, data analytics, and machine learnin ...
, and
IBM Cloud. 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.
Types of containers
* OS containers
* Application containers
Security issues
* Because of the shared 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
Orchestration is the study or practice of writing music for an orchestra (or, more loosely, for any musical ensemble, such as a concert band) or of adapting music composed for another medium for an orchestra. Also called "instrumentation", orch ...
or container management is mostly used in the context of application containers.
Implementations providing such orchestration include
Kubernetes
Kubernetes (), also known as K8s is an open-source software, open-source OS-level virtualization, container orchestration (computing), orchestration system for automating software deployment, scaling, and management. Originally designed by Googl ...
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
Amazon most often refers to:
* Amazon River, in South America
* Amazon rainforest, a rainforest covering most of the Amazon basin
* Amazon (company), an American multinational technology company
* Amazons, a tribe of female warriors in Greek myth ...
,
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
,
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
.
See also
*
Docker (software)
*
Kubernetes
Kubernetes (), also known as K8s is an open-source software, open-source OS-level virtualization, container orchestration (computing), orchestration system for automating software deployment, scaling, and management. Originally designed by Googl ...
*
Open Container Initiative
*
Virtual machines
In computing, a virtual machine (VM) is the virtualization or emulator, emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve ...
Further reading
;Journal articles:
*
* Moreau, David; Wiebels, Kristina; Boettiger, Carl (2023). Containers for computational reproducibility. ''Nature Reviews Methods Primers,'' 3 (50). https://doi.org/10.1038/s43586-023-00236-9
*
*
*
*
;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
Packt is a publishing company founded in 2003 and headquartered in Birmingham, UK, with offices in Mumbai, India.
Packt primarily publishes print and electronic books and videos relating to information technology, including programming, web ...
,
* Jeeva S. Chelladhurai, Vinod Singh, Pethuru Raj (2014), ''Learning Docker'',
Packt Publishing
Packt is a publishing company founded in 2003 and headquartered in Birmingham, UK, with offices in Mumbai, India.
Packt primarily publishes print and electronic books and videos relating to information technology, including programming, web ...
,
References
Cloud computing
{{software-eng-stub