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] Note that the word "container" is an overloaded term. That is why Marc Brooker recommends that whenever you use the word "container", check whether your audience uses the same definition. [2]