05-architecture

Scalability

05-architecture/scalability

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 typeLikely response
TrafficCache, queue, or split workloads
Data volumePartition, index, or archive
Team sizeClarify 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.


Further Reading