Advanced

System Design Fundamentals

Estimate, decide, defend.

The method for a high-level design: requirements, capacity estimation with stated assumptions, the building blocks — load balancing, caching, replication, sharding, queues — and the trade-offs that make a design a decision rather than a diagram.

9 lessons written2 modules~2h reading

After this course you can

  • Run a 45-minute design from requirements to a defended architecture
  • Estimate storage, QPS and bandwidth and show the arithmetic
  • Use the building blocks and name what each one costs
  • Explain CAP and consistency models without the folklore

Curriculum

9 lessons · outlined lessons show their plan
01

Method

3/3 written · ~34 min
The design methodClarify, estimate, sketch, deepen, defend — the order that keeps a design on the part that breaks, with a requirement that rules something out and a minute budget for each phase.11 minCapacity estimationAssumptions first, a day as 100,000 seconds, storage and bandwidth — and the numbers to know, measured: a map lookup in nanoseconds, a real network hop a million times slower.12 minStating a trade-offWe will X, it costs Y, we accept because Z, we would revisit if W — and the condition for revisiting is what almost nobody says.11 min
02

Building blocks

6/6 written · ~77 min
Load balancing and cachingOne slow server took round robin's p99 to 556 ms and least-outstanding's to 32 ms; cache layers, and the cache-aside race that caches a stale value after a correct update.13 minReplication, partitioning and shardingReplica lag and its anomalies, hash mod N moving 80% of keys against consistent hashing's 19%, virtual nodes, and the hot tenant no hash can spread.14 minCAP, consistency and consensusWhat CAP actually says, a quorum simulation where R + W > N removes stale reads and refuses writes in a partition, consistency models, PACELC, and Raft in one page.14 minQueues and asynchronous designAn email outage that failed a synchronous checkout and did not touch an asynchronous one, the outbox, what queues guarantee, dead letters, and the workflow that is a state machine.13 minChoosing a data storeChoose from the access pattern, not the feature list — and why relational is the default that answers questions you have not thought of yet.12 minObject storage, CDNs and searchThree components that each take a job off your service and leave you a copy of something. The copy is the cost.11 min