System Design Visualized
Chapter 2 · about 30 minutes

Back-of-the-Envelope Estimation

Before designing anything, you need a rough idea of its size. How many requests per second? How much storage? Back-of-the-envelope estimation is quick, approximate math that tells you whether a design will work, using a few numbers every engineer should know. As Jeff Dean put it, these are estimates you build from thought experiments and common performance numbers.

Start the interactive chapter
  1. 2.1Power of twoData volume can get enormous, but the math always comes down to the basics. A byte is 8 bits, and one ASCII character takes one byte. Every…
  2. 2.2Latency numbers every programmer should knowGoogle's Jeff Dean published how long typical computer operations took (2010). Hardware is faster now, but the ratios still hold, and…
  3. 2.3Availability numbersHigh availability is a system's ability to keep running for a long time. We express it as the percentage of time the service is up: 100%…
  4. 2.4Example: estimate Twitter QPS and storageLet's practice with made-up (not real) Twitter numbers. 📝 Assumptions 300 million monthly active users 50% use it daily 2 tweets per user…
  5. 2.5Tips for estimatingEstimation is about the process, not a perfect answer. Interviewers want to see how you think. Rounding and approximation. Don't compute…