Back-of-the-envelope Estimation System Design

Back-of-the-envelope estimation is a technique used to quickly approximate values and make rough calculations using simple arithmetic and basic assumptions.

Estimation Techniques

1) Rule of Thumb →

General principals applied t…


This content originally appeared on DEV Community and was authored by Pranjal Sharma

Back-of-the-envelope estimation is a technique used to quickly approximate values and make rough calculations using simple arithmetic and basic assumptions.

Estimation Techniques

1) Rule of Thumb →

General principals applied to make good estimates. eg : 1 user generates 1MB of data on social media / day.

2) Approximations →

Rounding of complex calculations to powers of 10 or 2 to simply and get to the estimates easily. eg: 1 day = 10^5 seconds.

3) BreakDown and aggregation →

Breaking down bigger problems to smaller components and estimating them individually along with aggregating or combining them to reach the results. eg: Social media data = User Data + Multimedia Data + Metadata .

4) Sanity check →

Just having an overall check over the possibility of the estimates not varying a lot from reality is needed at last . For eg : The numbers achieved should match the original real life data.

Types of Estimations

1) Load Estimations

Designing a post generation social media platform.
Daily Active Users ( DAU ) → 100 Million
Avg. Posts → 10 per user per day
Total posts → 100 M * 10 = 1B post/day

Hence Request rate per second = 1B / 10^5 requests/second = 10000 req/sec.

2) Storage Estimations

Twitter Storage
DAU → 500 M
1 user = 3 tweets (avg)/day
1 tweet text ~ 250B
1 photo ~ 200KB [10% contain photo]
1 video ~ 300MB [5% contain video]

Total storage/day ~ 1500M * (250B + 20KB + 15KB)
~ 375 GB + 30TB + 225TB ~ 255TB

3) Bandwidth requirements

  • Estimate the daily amount of incoming data to the service.
  • Estimate the daily amount of outgoing data from the service.
  • Estimate the bandwidth in Gbps (Gigabits per second) by dividing the incoming and outgoing data by the number of seconds in a day.

4) Latency Estimation

For eg. API consist of RestCall 1 , Rest Call 2 , Rest Call 3

Total Latency → 50ms + 100ms + 150ms ~ 300ms [ if it is sequential ]
→ max(50,100,150) ~ 150ms [ if it is parallel ]

5) Resource Estimation

1 req ~ 10ms of CPU
total req ~ 10000req/sec
total cpu time ~ 10000 * 10 = 100000 ms/sec.
1 CPU can handle 1000ms/sec
Total CPU core = 100000 / 1000 = 100


This content originally appeared on DEV Community and was authored by Pranjal Sharma


Print Share Comment Cite Upload Translate Updates
APA

Pranjal Sharma | Sciencx (2024-06-27T20:27:30+00:00) Back-of-the-envelope Estimation System Design. Retrieved from https://www.scien.cx/2024/06/27/back-of-the-envelope-estimation-system-design/

MLA
" » Back-of-the-envelope Estimation System Design." Pranjal Sharma | Sciencx - Thursday June 27, 2024, https://www.scien.cx/2024/06/27/back-of-the-envelope-estimation-system-design/
HARVARD
Pranjal Sharma | Sciencx Thursday June 27, 2024 » Back-of-the-envelope Estimation System Design., viewed ,<https://www.scien.cx/2024/06/27/back-of-the-envelope-estimation-system-design/>
VANCOUVER
Pranjal Sharma | Sciencx - » Back-of-the-envelope Estimation System Design. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/06/27/back-of-the-envelope-estimation-system-design/
CHICAGO
" » Back-of-the-envelope Estimation System Design." Pranjal Sharma | Sciencx - Accessed . https://www.scien.cx/2024/06/27/back-of-the-envelope-estimation-system-design/
IEEE
" » Back-of-the-envelope Estimation System Design." Pranjal Sharma | Sciencx [Online]. Available: https://www.scien.cx/2024/06/27/back-of-the-envelope-estimation-system-design/. [Accessed: ]
rf:citation
» Back-of-the-envelope Estimation System Design | Pranjal Sharma | Sciencx | https://www.scien.cx/2024/06/27/back-of-the-envelope-estimation-system-design/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.