Containerization (computing)

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] The term "container" is overloaded, and it is important to ensure that the intended definition aligns with the audience's understanding.

[3] Individually, each container simulates a different software application and runs isolated processes[4] by bundling related configuration files, libraries and dependencies.

[7] 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.

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.