From the time that the world started to use containerized applications — and especially from the time that Docker arrived — IT people wanted a means of orchestrating all of them. Let’s dive into Kubernetes from the beginning.
Some history… #
From the 1960s and early 1970s, the IT community wanted to find ways to share computer resources in a robust fashion. The breakthrough was the concept of virtualization, which allowed the same physical computer resources to be shared among companies. It also enabled companies to stop owning servers and instead lease them.
With the constant development of technology, virtualization has not been left aside in the growth cycle. Now, containerization is the most innovative solution — and the current standard — in the battle to improve efficiency and resource utilization.
What is containerization? #
The word “container” — along with Docker and Kubernetes — comes from maritime terminology. When cargo is shipped from one country to another across the ocean, it is placed in standardized containers for easy handling. Products of the same type are grouped together in a single container so they don’t interfere with each other. The same concept applies to containerization in the IT world.
When you create a container, it’s essentially like putting into a box exactly what your application needs to run: libraries, operating system components, database, and so on.
One of the most useful aspects of containerization — beyond the smaller resource footprint compared to virtual machines — is its reusability. You can replicate your container in another environment without reinstalling everything as you would with a VM. This saves time and reduces setup complexity.
What is a Docker container? #
Docker is a lightweight software package that includes everything you need to run a container: a minimal OS, runtime, resources, and dependencies.
Compared to a VM, containers are more resource-efficient because they don’t require a full hypervisor (like ESXi, KVM, or Hyper-V). This means that instead of buying a server to host several virtual machines, you can containerize your applications. The memory footprint is lower in containers, so you can use cheaper hardware to do the same work you used to do with VMs.
Orchestrate… what? #
(To be continued in Part 2…)