← Library06 Playbooks

architecture

System Design

06 Playbooks/System Design.md

System Design

Sequence

  1. Define users, core journeys, scale assumptions, and non-goals.
  2. Rank quality attributes: availability, consistency, latency, durability, privacy, cost.
  3. Model data and invariants.
  4. Draw boundaries, APIs, and the main read/write flows.
  5. Examine failure modes, recovery, and operational ownership.
  6. Compare alternatives and record the decision.
  7. Plan evolution: migration, compatibility, observability, rollback.

Questions that expose weak designs

  • What is the source of truth?
  • Which operations must be atomic or idempotent?
  • What happens during retries, duplication, partial failure, or stale reads?
  • Where does untrusted input cross a boundary?
  • What grows fastest, and how will we know before it breaks?
  • What is deliberately simple until evidence justifies complexity?

Knowledge connections