Scalability
Overview
Scalability is the ability of a system to handle growth in users, data, traffic, and team size without collapsing under its own weight.
Why It Matters
Systems that scale poorly become expensive to change and unreliable under pressure.
Core Concepts
- Scale is not just traffic.
- Bottlenecks can be technical or organizational.
- The right fix depends on the type of growth.
Mental Models
Ask what breaks first and what the cost of that break would be.
Best Practices
- Measure before predicting scale issues.
- Remove avoidable work first.
- Scale the bottleneck, not the entire stack.
Common Mistakes
- Prematurely optimizing for huge traffic.
- Ignoring team growth and code ownership.
- Treating scale as only an infrastructure problem.
Trade-offs
Some design choices that help scale also add complexity. Only pay that cost when growth pressure is real.
Decision Framework
| Growth type | Likely response |
|---|---|
| Traffic | Cache, queue, or split workloads |
| Data volume | Partition, index, or archive |
| Team size | Clarify boundaries and ownership |
Examples
- Split a slow report into background work once the request path suffers.
Checklists
- What is the bottleneck?
- Is the growth problem real or hypothetical?
- Is the fix proportional to the scale pressure?
Senior Engineer Notes
Senior engineers scale the simplest thing that meets the need. They avoid solving imaginary future problems with present complexity.