Application containerization is an operating system level (OS-level) virtualization method for deploying and running distributed applications without launching an entire virtual machine (VM) for each app. Instead, multiple isolated systems are run on a single control host and access a single kernel. The application containers hold the components such as files, environment variables and libraries necessary to run the desired software. Because resources are shared in this way, application containers can be created that place less strain on the overall resources available. For example, if a variation from the standard image is desired, a container can be created that holds only the new library.
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
Proponents of containerization point to gains in efficiency for memory, CPU and storage as key benefits of this approach compared to traditional virtualization. Because application containers do not have the overhead required by VMs, it is possible to support many more containers on the same infrastructure. Portability is also a benefit. As long as server settings are identical across systems, an application container can run on any system and in any cloud without requiring code changes. There are no guest OS environment variables or library dependencies to manage. A potential drawback of containerization is lack of isolation from the core OS. Because the application containers are not abstracted from the host OS on a VM, security threats have easier access to the entire system.
Containerization gained prominence with the open source Docker. Docker containers are designed to run on everything from physical computers to virtual machines, bare-metalservers, OpenStack cloud clusters and public instances.
In addition to Docker, CoreOS released a streamlined alternative called Rocket.
And Canonical, developers of the Ubuntu Linux-based operating system, announced the LXD containerization engine for Ubuntu, which will also be integrated with OpenStack. Also, Microsoft is working on its own containerization technology called Drawbridge.