Containerization also called container-based virtualization and
application containerization -- is an OS-level virtualization method
for deploying and running distributed applications without launching an entire VM for
each application. Instead, multiple isolated systems, called containers, are
run on a single control host and access a single kernel.Because containers share the same OS
kernel as the host, containers can be more efficient than VMs, which require
separate OS instances.
Containers hold the components
necessary to run the desired software, such as files, environment variables and
libraries. The host OS also constrains the container's access to physical
resources -- such as CPU and memory -- so a single container cannot consume all
of a host's physical resources.
Advantages of containerization
Containerization gained prominence with the open
source Docker, which developed a method to give
containers better portability -- allowing them to be moved among any system
that shares the host OS type without requiring code changes. With Docker
containers, there are no guest OS environment variables or library dependencies
to manage.
Proponents of containerization point to gains in efficiency
for memory, CPU and storageas key benefits of this approach,
compared with traditional virtualization. Because containers do not have the
overhead required by VMs -- separate OS instances -- it is possible to support
many more containers on the same infrastructure. As such, containerization
improves performance because there is just one OS taking care of hardware
calls.
A major factor in the interest in containers is they can be
created much faster than hypervisor-based instances. This makes for a much more
agile environment and facilitates new approaches, such as microservices and
continuous integration and delivery.
VMs
take up more space because they need a guest operating system to run.
Containers don't consume as much space because each container shares the host's
operating system.
No comments:
Post a Comment