Stop 04 · Compute ServicesTopics · 6/10

Container Orchestration Overview (Kubernetes / ECS)

Part of the Cloud Computing Roadmap

In short

Running one container is easy. Running 200 across 20 servers, restarting the crashed ones and rolling out updates without downtime is not. That's the job orchestrators were built for.

A preview of how containers are managed at scale — Kubernetes is the open-source, cloud-agnostic standard, while ECS is AWS's simpler, more tightly integrated alternative, both covered in depth in Phase 9.

The blob character with a clipboard directs waiters carrying trays at a wedding buffet.

Think of it like this

The wedding catering head

The catering head doesn't serve food. He decides 'three servers on the biryani counter', and if one disappears for a smoke break, he sends a replacement right away. You tell an orchestrator what you want; it keeps it that way.

Watch it happen

Desired state, kept

You
Control plane
Node A
Node B

replicas: 3

1/5You apply a Deployment saying three copies of web:1.4 should always run.

The big ideas

What you need to know

Declare, don't command

You describe the end state (3 replicas, this image, this port). The orchestrator keeps checking and fixing drift.

Kubernetes

Open-source and runs on every cloud (EKS, GKE, AKS). Very powerful, with a steep learning curve.

ECS

AWS's own orchestrator. Simpler, tightly tied to AWS. With Fargate you don't manage the servers at all.

Rolling updates

New versions replace old pods a few at a time, and roll back if health checks fail.

See it in code

Walk through the code

yaml
1apiVersion: apps/v12kind: Deployment3metadata:4  name: web5spec:6  replicas: 37  selector:8    matchLabels: { app: web }9  template:10    metadata:11      labels: { app: web }12    spec:13      containers:14        - name: web15          image: myrepo/web:1.416          ports: [{ containerPort: 3000 }]

1/3A Deployment named web: the object that manages copies of your pods.

Apply it with kubectl apply -f web.yaml. Change replicas or the image tag and apply again; Kubernetes does the rest.

Save yourself the pain

Common mistakes

Oops

Jumping into Kubernetes for a single small app.

Do this instead

Start with a managed option like ECS on Fargate, Cloud Run or App Service. Reach for Kubernetes when you truly need it.

Oops

Not setting CPU and memory requests.

Do this instead

Without requests, the scheduler can't place pods sensibly and one hungry pod can starve its neighbours.

Your mission

Self-healing on your laptop

~35 min

Quick check

You set replicas: 3 and one node dies, taking a pod with it. What does Kubernetes do?

Go deeper

  1. 1Read a conceptual comparison of Kubernetes and ECS's complexity and flexibility trade-offs.
  2. 2Learn why running more than a handful of containers manually becomes unmanageable without orchestration.
  3. 3Preview Phase 9 for the hands-on mechanics of each option.

More topics at this stop

Stuck on this topic? Ask an Insider

Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.

Download
InsideEdge