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 👎.
Early AWS accounts had essentially one login: root. Teams shared that password in a spreadsheet or chat. Everyone was all-powerful; nobody was accountable ("who deleted the bucket?" — silence); leaving employees meant rotating THE password for everyone. On-prem before that: shared admin accounts and sticky notes. IAM brought per-person identity, per-action permission, and an audit trail.
Machines authenticated with AKIA… access keys — permanent passwords pasted into config files, CI settings, and (tragically often) git repos. Key leaks are still the #1 cause of AWS account compromises; the crypto-mining bill arrives before the apology. Roles flipped the model: identities you wear briefly, credentials that expire in an hour.
Buying servers. Capacity planning a year ahead, purchase orders, waiting weeks for delivery, racking hardware, and paying for it whether used or not. A startup's first expense was a server room. EC2's radical idea: a computer in minutes, by the hour, hand it back anytime — compute as a utility, like electricity.
AWS's spare desks sat empty; your batch jobs paid full price. Spot (2009) auctions the empty seats: up to ~90% off, with one catch — AWS may take the seat back with a two-minute warning when a full-fare customer arrives.
Everyone SSH'd: port 22 open to the office IP (or worse, the world), key files passed around when people joined and left, bastion hosts to maintain, and zero record of who typed what. Session Manager (2018) routes the shell through AWS's API — no open port, no shared keys, every session loggable.
Every team ran Postgres/MySQL on its own machine: a DBA (or an unlucky developer) owned backups, patches, replication, and 3 AM failovers. RDS (2009) rents you the database WITH the clerk — the craft parts come tested and boring.
Even a once-a-day errand needed a desk running 24/7 — patched, monitored, and billed while idle. Lambda (2014) flipped the unit of compute from "a machine" to "an errand": code appears when called, vanishes after, and idle costs zero.