Designing Distributed Systems
by Brendan Burns
The first quarter is genuinely useful; after that it runs out of ideas and starts repeating itself.
- Status
- Read · December 2022
- Bought
- December 26, 2022
- For
- Backend & platform engineers · Anyone running workloads on Kubernetes · Engineers who think in containers, not just code
Where it earned its place
The one-paragraph verdict
OK, with an important caveat: the value is front-loaded. Burns co-founded Kubernetes, and it shows: this is really a book about multi-container patterns, named and drawn clearly enough that you stop reinventing them. The single-node groups (sidecar, ambassador, adapter) are the strongest chapters — short, concrete, immediately applicable. The public 3.58 is fair, though. The title oversells: this is “design patterns for container-based systems,” not consensus, replication, or failure theory. At ~160 pages it’s a long afternoon, and if you’ve run real orchestration for a year you’ll already know most of it. I still keep it close for the shared names alone.
Who should read it
Backend and platform engineers who deploy on Kubernetes and want a common vocabulary for composing containers. It’s ideal for the engineer who has wired sidecars by instinct but never had words for them. Skip it if you want the hard theory — Kleppmann and the Tanenbaum lineage live on a different shelf — or if you’ve already internalized these patterns in production.
Where it earned its place
When I built distributed rate limiting on NATS KV, treating the limiter as an ambassador in front of the real service came straight from this vocabulary. The sidecar pattern is the mental default for every workload on my K3s home server — logging, TLS, and metrics ride alongside the app instead of inside it, exactly as Burns lays out.
Skip it if…
You want depth over breadth, or you’ve spent real time running orchestration. Veterans will find it thin, theory-seekers will find it the wrong book entirely, and anyone reading cover to cover will notice it running out of steam well before the end. [Designing Distributed Systems on Goodreads]