System Design Beginner
00 Requirements & Estimation
A design is won or lost before the first box is drawn: pin down what you are building, say out loud what you are not building, and put numbers on the load. Vague requirements produce unfalsifiable architectures.
Same app, now with numbers: 10 million daily active users; each uploads on average 2 photos per day at 2 MB per photo, and views 100 photos per day. Estimate: write QPS, read QPS, new storage per day, and total photo storage after 5 years. Show your working and round aggressively.
Hints
- A day is ~86,400 seconds; napkin math rounds it to 100,000.
- Daily events = users x events per user. QPS = daily events / seconds per day.
- Storage per day = uploads per day x photo size. Five years is roughly 1,800 days.