1. What is Kubernetes?
Kubernetes (short name: K8S) is a portable, extensible open-source platform for managing workloads in containers and services, enabling both configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are available everywhere.
Google made the Kubernetes project open-source in 2014. Kubernetes builds on more than 10 years of experience Google has with running production workloads at scale, combined with the most creative ideas and practices from the community.
2. First, the basics
To understand why Kubernetes is conquering the virtual world, there are a few things you need to know. Kubernetes is a complex system, designed for people with know-how in a technical environment. Still, I will try to explain it as simply as possible.
2.1 Multiple Virtual Machines?
When you want to run an application on a server in the cloud, you place the application in a Virtual Machine (VM). This acts like a physical computer, making the application think it is running on a real system. The VM focuses on the PC hardware and runs an operating system on top, such as Windows or Linux.
But to meet higher demand, we run multiple instances of the app. Normally, you do this by creating new VMs. But this requires a lot of server computation and therefore more budget.
2.2 Containers are a better solution
There is a better way to run a larger application on a cloud server: using “Containers”. Containers are essentially smart “light” VMs that, instead of running a full computer, only focus on the necessary components. In this way, the application is placed in a container with only the essential functions, to perform as efficiently as possible. Docker is the most well-known and globally used example of container technology.
2.3 Advantages of containers
Advantages of Containers:
- Can run anywhere: local, staging, production… as long as Docker is installed
- Smaller, lighter: easy to move between environments, uses fewer resources, more efficient
- Easy deployment: everything the application needs runs in the container, so you only need to set up your container
- Easy management: run multiple technologies easily on a single environment, upgrading versions is just running a new container
- Scalability: multiple containers of the same application can run easily to distribute the load
2.4 Disadvantages of containers
Managing containers is doable, even if we are talking about dozens. But when it comes to 1000 or more instances of an application, it becomes pure overkill for a single IT administrator. And that is the downside of the coin.
2.4.1 Why overkill?
To remain cost-efficient when running more than 1000 instances, all workloads must be distributed as efficiently as possible across the available hardware. Furthermore, this system must keep running, which is why a performant solution is indispensable.
3. Kubernetes for the win!
Here comes Kubernetes into play. Kubernetes is a Greek word meaning ‘Helmsman of the ship’. It allows an administrator to deploy containers very easily and takes care of managing the deployed containers in the data center.



