What to estimate before designing
corebeginnerBefore choosing any component, a design needs five numbers: requests per second, storage growth, bandwidth, memory, and queue volume — each one rules out or rules in different infrastructure choices.
Think of it as
A component diagram without numbers is a guess. Requests per second sizes the compute and load balancers; storage growth sizes the database and its backups; bandwidth sizes the network and CDN; memory sizes caching; queue volume sizes the message broker. Skipping any one of them leaves that part of the design unsized.
What we're doing: Take one feature request and produce all five numbers before naming a single piece of infrastructure.
- 3
- Views and uploads are estimated separately — a 40:1 read/write split changes what gets optimized first.
- 4
- Storage growth per day, not total — this is what tells you when the database needs partitioning or cold storage.
- 5
- Bandwidth is the number a CDN or egress-cost conversation actually needs.
- 6
- Memory here is scoped to what caching can realistically help with, not "cache everything."
- 7
- Queue volume matches the upload rate 1:1, because every upload triggers exactly one transcoding job.
Why this works: Naming a component before these five numbers exist is designing from familiarity, not from the actual load. Each number rules specific choices in or out — a load balancer choice depends on requests/sec, a storage choice depends on growth, and so on.
Estimating only requests per second and skipping the other four
Wrong
Better
What you see: The app tier is correctly sized and holds up fine, while the database fills its disk within weeks and the transcoding queue backs up for hours during a traffic spike — because neither was ever estimated.
Why: Requests per second is the most visible number, so it is the one most often estimated alone. The other four fail silently at first and become incidents later, once real traffic exercises them.
- Requests/sec — sizes compute, load balancers
- Storage growth — sizes database, backups
- Bandwidth — sizes network, CDN
- Memory — sizes caching
- Queue volume — sizes broker, workers
The five estimation categories
Together
Remember: Five numbers before any component: requests/sec, storage growth, bandwidth, memory, queue volume — each sizes a different part of the design.
See also: core formulas · infra translation

