# The Art of Containerization

### **What is Containerization?**

It is a technology that packages the applications and their dependencies into a single self contained unit called containers that allows them to run across different environments.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1743572279290/0a79845c-56da-4c26-9931-65d99b4bb90a.png align="center")

Above diagram demonstrates concept of containerization:

* It has **runtime Engine** (that can be docker , podman etc) which provides the technology to enable running units called container.
    
* The containers running are **lightweight unit that has application and dependencies without actually having full Guest OS** compared to Virtual machine.
    
* Containers have **Container Images ideally using OCI images** that can be run with the help of Container Runtime.
    
* Containers share the kernel of the Host OS.
    
* Containers offers More Cloud Native Approach where these containers can be individually scaled up/down.
