System Design for Web Devs
The route
- 85 minThe vocabulary, and the numbers
Latency, throughput and percentiles — enough to reason out loud in a room.
You board here - 85 minCaching, and what it costs you
The layers, invalidation, and being deliberate about the staleness you accept.
- 85 minQueues and doing work later
Async boundaries, retries, dead letters, and exactly-once as a comforting fiction.
- 85 minDatabases and the unavoidable trade-off
Indexes, normalisation, replication, and what consistency costs.
- 85 minSix systems, end to end
A feed, a scheduler, a file service, a rate limiter, a search box and a checkout.
- 70 minDefending a design in review
The diagram, the numbers, and naming the failure mode before they do.
A look at the teaching
A cache is not a speed trick. It is a decision about how wrong you are willing to be.
Request → CDN (60s) → app cache (5m) → database
↑ ↑
public data per-user data
# The question is never "should I cache this", but:
# how wrong can this be, for how long, before
# somebody is actually harmed by it?
#
# Course catalogue minutes are fine
# Someone's library seconds, and bust it on purchase
# A payment total never — read it from the source
Caching is easy and invalidation is the design. Write down the staleness you are accepting for each kind of data, because you are accepting one whether you write it down or not.
Who is driving
Péter teaches the way a good colleague explains things at a whiteboard — no jargon for its own sake, and nothing hidden behind “as you can see”.
Placeholder profile