What is Containerization in DevOps?
What is Containerization? Containerization is a lightweight alternative to a virtual machine that involves encapsulating an application in a container with its own operating system. A container takes its meaning from the logistics term, packaging container. When we refer to an application container, we mean packaging software. Containerization has recently gained hypes with an open source tool Docker. Docker containers are designed to run on every environment from physical computers to virtual machines, from bare-metal, Clouds, etc. Containerization vs. Virtualization (via Traditional Hypervisors) The foundation of Containerization lies in the Linux Container (LXC) Format. This is why containers only work with Linux based machines and can only run Linux applications. On the other hand, the traditional hypervisors like VMware, Virtual Box, etc can run on Windows, Linux as well as all those operating systems that support hypervisors. Another difference is that containers share the same kernel as the host machine which is not in the case of hypervisors. Containers vs Virtual Machines (VMs) Virtual Machines (VMs) Containers Hardware Level Virtualization Operating System Virtualization Heavyweight Lightweight Slow Provisioning Real-time and fast provisioning Limited performance Native performance Fully isolated Process-level isolation More Secure Less Secure Application containers and System containers Application containers, such as Docker comprised of the application files, dependencies and libraries of an application to run on an OS. Multiple Application containers can be run...
Read More