Table of contents
No headings in the article.
The back of the envelope calculations are generated by using a combination of thought experiments and common performance numbers.
Back of envelope = Estimates + Thought Experiment + Common performance numbers
Benefits
Helps to find which design will meet the requirements.
Good sense of scalability basics.
Following Concepts are required to calculate
Power of 2.
Latency numbers
Availability numbers
Power of 2
Fig1 : Power of 2
Latency Numbers
Fig2 : Latency numbers
Latency numbers are the time that is usually taken to perform any actions, like read and refresh and so on. The table above helps to calculate the average time taken to perform actions.
We can observe from the above image that,
Main memory is faster than disk.
If the data centers are located far then the latency time increases.
Simple compression algorithms are fast.
Compress data before sending.
Avoid disk seeks wherever applicable.
Note : The above data may not be accurate but gives a rough idea and helps in calculating capacity estimation.
Availability Numbers
Fig3 : Availability numbers
Availability means the probability that the system will be available when there is a call or when a request is made. Mostly all services give 99% - 100% probability.
Availability = Uptime / (uptime + downtime )
Availability is measured in percentage(%).
SLA (Service Level Agreement) : It is an agreement between client and service provider about the system's availability (Uptime).
Common Performance Number
The performance number of the services involved should be known to calculate the capacity estimation which is nothing but back of envelope. The unknown performance number can be determined through prototyping. This helps to compare different architectural designs.