01
The Approach
How a system design problem is approached: separating component, contract, and quality decisions, narrowing scope through requirement gathering, functional requirements being separate determinants from non-functional ones, estimating request, data, and bandwidth need with back-of-the-envelope estimation, and communicating a design through diagram, trade-off, and decision rationale.
- 01 What Is System Design Breaking a system design down into three kinds of decisions: component boundaries, the contracts that cross them, and the thresholds placed on qualities; separating the three number classes as the answer to where a threshold comes from, and showing that an unclassified number carries no decision.
- 02 Approach to the Design Problem Turning a single-line request into a design: separating questions into four families, showing which design step each family blocks, turning an unanswered question into an assumption, and measuring the room scope narrowing opens on the design surface.
- 03 Functional and Non-Functional Requirements Showing that the two kinds of requirements are separate determinants: the functional list determining which kind of component is required, thresholds determining how many parts the same work splits into, the change a single threshold produces in the component count when played one at a time, and a threshold's ability to shrink a design.
- 04 Back-of-the-Envelope Estimation Gathering twelve assumptions into a single table, and deriving request rate, data growth, and bandwidth need from the table by arithmetic: calculating peak load, finding the load balance behind the cache, a sparse batch job dominating bandwidth, and measuring which result each assumption multiplies by how much.
- 05 Communicating the Design Presenting a design in a defensible form: a box-and-arrow diagram whose edge labels are generated from the calculation, a five-field decision record made of scenario, threshold, value, the value's class, and the cost paid, counting missing fields, and screening unmeasured sentences out of the narrative.