about

The series

Distributed computing the way you actually run into it. One failure at a time.

Who it's for

You should be comfortable writing a program that runs on one machine. That's the only prerequisite. The material starts from CS fundamentals and works up to the depth you'd need on the job, and every term gets defined before it's used, so nothing assumes you already know the jargon.

How it's structured

Thirteen episodes, 15 to 25 minutes each. Each one walks through a concept and then applies it. Every episode also comes with three exercises: a written problem, a coding exercise that usually extends the URL shortener (see The running example below), and a short quiz.

Arc 1 - Why distributed systems exist (Eps 1–3)
motivation, failure models, the CAP theorem.
Arc 2 - Time, order, and state (Eps 4–6)
physical clocks, logical clocks, consistency models.
Arc 3 - Consensus and replication (Eps 7–10)
the consensus problem, Raft, replication strategies.
Arc 4 - Real-world systems (Eps 11–13)
distributed databases, message queues, and a capstone design exercise.

The running example

The URL shortener carries through the whole series, so you're never learning a concept against a throwaway example. It starts as a function and a dictionary running in one process. From there, each episode adds only what's needed to survive the next problem: more load, more data, a dropped network link, a data center going dark. By Episode 13 it's a full distributed system, and you'll have built every part of it.

Start with Episode 1