AltSchool Of Engineering Tinyuka’24 Month 10 Week 3

Published: (December 13, 2025 at 03:46 PM EST)
4 min read
Source: Dev.to

Source: Dev.to

If you missed our previous session, you can catch up here. This week, we took a deep dive into Terraform, exploring what it is, why it matters, and what makes it such a powerful tool in modern cloud engineering.

Image of a computer system

Container Technology & Kubernetes Explained

1. What Are Containers? (And Why the Tech World Loves Them)

A container is a lightweight, self‑contained package that includes everything an application needs to run:

  • Application code
  • Dependencies
  • Runtime environment
  • System libraries

Think of a container like a sealed food pack you can heat anywhere—whether you’re in Lagos or London, the food tastes exactly the same.

Real example
If your Python app requires Python 3.10, Flask, and specific system libraries, a container ensures it runs the same way on:

  • Your laptop
  • Your team’s machines
  • Production
  • The cloud

Gone are the days of “Works on my machine.”

2. Container Technologies (The Ecosystem That Makes It All Work)

a) Container Engine / Runtime

Low‑level component that actually runs the container.

  • containerd (used by Docker and Kubernetes)
  • CRI‑O (lightweight runtime used in many Kubernetes environments)
  • runc (executes containers according to OCI specs)

b) Container Client Tools

Tools developers interact with.

  • Docker CLI → docker build, docker run
  • Podman → daemonless alternative to Docker
  • Buildah → for building images
  • Skopeo → for managing container images in registries

c) Container Registries

Places to store and share container images.

  • Docker Hub
  • GitHub Container Registry
  • AWS ECR
  • GCP Container Registry
  • Azure Container Registry

These registries function like “app stores,” but for infrastructure.

3. Container Runtimes (The Engine Under the Hood)

A container runtime manages:

  • Creating containers
  • Executing containers
  • Managing container lifecycle
  • Enforcing security isolation

Kubernetes no longer manages Docker directly; it uses the Container Runtime Interface (CRI) to communicate with runtimes such as containerd, CRI‑O, or any other CRI‑compatible implementation. This makes Kubernetes more modular, faster, and cloud‑agnostic.

4. Container Orchestration (Why We Need Something Bigger Than Docker)

Running one container is easy. Running hundreds or thousands across multiple servers is not. Orchestration tools handle:

  • Automated deployment
  • Scaling containers up/down
  • Rollouts and rollbacks
  • Load balancing
  • Self‑healing containers
  • Monitoring container health

Leading platforms:

  • Kubernetes (industry standard)
  • Docker Swarm
  • Nomad by HashiCorp

Kubernetes reigns supreme.

5. Kubernetes (K8s): The Operating System of the Cloud

Kubernetes treats containers like tiny workers and coordinates them intelligently, ensuring apps run smoothly, reliably, and scalably even under heavy traffic.

Why companies love Kubernetes

  • Highly scalable
  • Works in any cloud (AWS, GCP, Azure, DigitalOcean)
  • Self‑healing
  • Automated deployments
  • High availability
  • Huge community & ecosystem

From Netflix to Spotify to banks and telecom providers, Kubernetes powers mission‑critical systems globally.

Image of a computer system

6. Kubernetes Cluster Components (How Kubernetes Actually Works)

A. Control Plane Components (the “brain”)

  1. API Server – gateway for all Kubernetes operations; every CLI, UI, or automation request goes through it.
    Example: kubectl apply -f app.yaml first hits the API server.

  2. etcd – distributed key‑value store that holds the cluster state (the “memory” of Kubernetes).

  3. Scheduler – assigns pods to appropriate worker nodes based on CPU, RAM, node capacity, affinity rules, etc.

  4. Controller Manager – runs long‑running control loops such as node controller, replication controller, endpoint controller, and service‑account token controller.

B. Worker Node Components (where containers actually run)

  1. Kubelet – agent that runs on every worker node, ensuring containers are running as instructed and communicating with the container runtime.

  2. Kube‑Proxy – handles networking across nodes, ensuring routing between services and pods.

  3. Container Runtime – actually launches containers (e.g., containerd).

7. How It All Works Together – Example Workflow

Deploy a containerised Flask app with Kubernetes:

# 1. Write a deployment manifest (deployment.yaml)
kubectl apply -f deployment.yaml   # 2. Sends request to API Server
# 3. Scheduler picks the best worker node
# 4. Kubelet tells the container runtime to start the container
# 5. Kube‑Proxy sets up networking & load balancing
# 6. Controllers maintain the desired replica count
# 7. If a pod fails → Kubernetes automatically restarts it

This automation and intelligence make Kubernetes the backbone of cloud‑native computing.

8. Why Containers + Kubernetes Matter Today

They help organisations:

  • Deploy faster
  • Reduce costs
  • Improve reliability
  • Scale effortlessly
  • Standardise development
  • Simplify multi‑cloud strategies

Industries leveraging this stack include FinTech, e‑commerce, banking, telecom, energy, government, and healthcare.

Image of a PC fan

Containers changed how we package applications.
Kubernetes changed how we run them at scale.

Together, they form the foundation of modern cloud infrastructure powering the apps we use every day.

Back to Blog

Related posts

Read more »