Kubernetes from Zero to Hero – Part 1


The Problem Before Kubernetes
Before understanding what Kubernetes is, let’s rewind a bit.
1. The Old World: Monolithic Applications
Back in the day, applications were developed as a single block of code, known as a monolith. Think of a traditional web app that has:
Frontend (UI)
Backend (business logic)
Database access
Authentication
Email service
All of it bundled into one application, deployed on a single server. Easy to start, but very hard to scale or maintain. If the app crashes, everything goes down. If one part needs to change, you re-deploy the whole thing.
❌ Slow deployments
❌ Difficult to scale specific components
❌ High risk of failure
❌ Poor maintainability
2. Then Came Containers & Microservices
To solve this, we moved to microservices — breaking the monolith into smaller services, each doing one job. Then came Docker, which allowed these services to run inside containers — lightweight, isolated environments that run consistently across machines.
Now we could have:
UI in one container
Backend in another
DB in another
Email worker in another
But here’s the catch…
Who manages all these containers?
What happens if a container crashes?
How do you restart it?
How do you scale it when traffic increases?
You’d soon end up with hundreds of containers running across multiple servers (called “nodes”). Managing them manually? Impossible.
💡 Enter: Kubernetes
Kubernetes (often abbreviated as K8s) is an open-source container orchestration platform. It helps you:
🔧 Task | ✅ Kubernetes Does It |
Start and stop containers | ✅ Yes |
Restart failed containers | ✅ Yes |
Scale containers dynamically | ✅ Yes |
Load balance traffic | ✅ Yes |
Perform rolling updates | ✅ Yes |
Manage configuration & secrets | ✅ Yes |
Self-heal crashed apps | ✅ Yes |
🛳️ Shipping Analogy
Imagine containers are like shipping containers on cargo ships. Kubernetes is the harbor master that:
Decides where containers go (which ship/node)
Moves containers if a ship sinks
Ensures enough copies of each item are available
Balances weight across ships
That’s what Kubernetes does for your application’s containers.
⚙️ How Kubernetes Works – The 10,000 Ft View
Node: A machine (VM or physical) that runs your workloads (pods).
Pod: Smallest deployable unit in Kubernetes. Wraps 1 or more containers.
Control Plane: Brains of Kubernetes (API server, scheduler, controller, etcd).
etcd: A key-value store for all cluster data (like a brain’s memory).
kubectl: Command-line tool to interact with the cluster.
Real-World Use Case
Let’s say you’re running an e-commerce site with:
A frontend container
A backend API container
A PostgreSQL DB container
A Redis cache container
With Kubernetes, you can:
Ensure 3 replicas of the frontend always run.
Automatically restart the backend if it fails.
Store credentials securely via Kubernetes Secrets.
Scale Redis based on load.
Deploy changes with zero downtime using rolling updates.
Why Teams Use Kubernetes Today
Benefit | Description |
Scalability | Scale apps up/down automatically. |
High Availability | Ensure apps are always running, self-healing. |
Portability | Run anywhere: on-prem, AWS, Azure, GCP. |
DevOps-Friendly | Easy CI/CD integration, GitOps support. |
Cost-Efficiency | Optimize resource usage, autoscale nodes. |
Declarative Configuration | Use YAML/JSON to describe desired state. |
Summary
Concept | Meaning |
Container | A lightweight, standalone executable software package. |
Kubernetes | A system to manage, scale, and deploy containers. |
Why Needed? | Containers are powerful, but managing them at scale is complex. Kubernetes automates and simplifies that. |
What’s Next?
In the next post, we’ll explore:
👉 Kubernetes Architecture in Detail
👉 What are Pods, Nodes, and the Control Plane?
👉 Diagram-driven learning to understand how components talk to each other
Subscribe to my newsletter
Read articles from Manas Upadhyay directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Manas Upadhyay
Manas Upadhyay
I am an experienced AWS Cloud and DevOps Architect with a strong background in designing, deploying, and managing cloud infrastructure using modern automation tools and cloud-native technologies.