Every tool replaced something worse — and is itself the wrong tool somewhere. For each big idea in this course: what life was like before it, its honest merits ✅ and demerits ❌, and where to use it 👍 vs where not 👎.
Fleets of hand-fed VMs: one app per VM, deploys via SSH + shell scripts or Ansible, load balancers edited by hand, scaling = a ticket to the infra team, and a pager going off at 3 AM because a process died and nothing restarted it. Google ran an internal answer (Borg) for a decade; Kubernetes is that idea, public. The middle era also had Heroku-style PaaS — wonderfully simple, but constrained and pricey at scale — and "docker-compose on one big VM", a single point of failure wearing a trench coat.
Either one cloud load balancer per service — at real money each, times every service, times every environment — or a hand-managed nginx VM that one brave person understood. Ingress made "one gate, many rooms" a declarative object.
Capacity-planning meetings. You guessed peak load, bought that many servers, and paid for them at 3 AM on a Tuesday. Guessed wrong? Either an outage on results day or a rack of idle metal. "Scaling" was a human clicking things during the cricket final.
Isolation meant a whole cluster (or VM fleet) per team/project — maximum separation, maximum bills, and an ops team drowning in cluster upgrades. Namespaces bought lightweight rooms inside one building.
A DBA (or the unluckiest developer) hand-tended database servers: installs, patches, backups nobody tested, and failovers performed live with sweaty hands. RDS-style services (2009+) turned that into a rented, automated librarian.