Cloud

Building block · 9 min

Containers

Serverless containers or Kubernetes: Fargate, Cloud Run, Container Apps, EKS, GKE and AKS.

Containers are how most backend code ships today. The real choice isn't Docker or not, but how much of the platform under the containers you want to run yourself. At one end, serverless containers: you hand over an image and a size, and the cloud runs it. At the other, Kubernetes: you get a whole scheduler, networking model and ecosystem, and you operate a lot more of it. Each cloud sells both ends, plus a managed middle.

The course's Tiffin runs on serverless containers from its first version. The concepts behind scaling them are in scaling out, stateless servers and deploys.

Side by side

AWS Google Cloud Azure Self-hosted
Serverless containers ECS on Fargate: tasks with a fixed CPU and memory size Cloud Run: many requests per instance, scales to zero Container Apps: KEDA-based scaling, scales to zero None; this is the convenience you pay for
Managed Kubernetes EKS, and EKS Auto Mode GKE Standard, and GKE Autopilot AKS, and AKS Automatic Kubernetes on your own machines
Unit of scale A task (ECS) or a pod (EKS) An instance handling up to 1,000 concurrent requests A replica A pod
Scale to zero You can set an ECS service to zero tasks, but no request will start one Yes Yes Only with add-ons
What you pay per vCPU-hours and GB-hours of each task (Fargate pricing); EKS adds a per-cluster fee Request-based or instance-based billing (settings); Autopilot bills by pod requests Usage, with no charge at zero replicas Servers, and the people who run Kubernetes