Friday, 26 January 2024

What is containerization?

In the past, organizations used physical servers to run their applications. When multiple applications operated on the same system, some would monopolize most resources, leading to underperformance in other applications. Unfortunately, there was no mechanism to establish resource boundaries for applications on a physical server, resulting in allocation issues.

To tackle this challenge, virtualization emerged as a solution. With technologies like Hyper-V, multiple virtual machines (VMs) could run under a single CPU. This approach not only saved on hardware costs but also facilitated improved scalability by enabling easy addition or updating of applications. However, virtualization had its limitations, as each VM represented a complete machine with its own operating system and virtualized hardware.


In response to these limitations, containers were introduced. Containerization involves packaging software code along with all its essential components, such as libraries, frameworks, and dependencies, into an isolated "container."