Back of Envelope Calculation

Back of Envelope Calculation

Table of contents

No heading

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

  1. Helps to find which design will meet the requirements.

  2. Good sense of scalability basics.

Following Concepts are required to calculate

  1. Power of 2.

  2. Latency numbers

  3. 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,

  1. Main memory is faster than disk.

  2. If the data centers are located far then the latency time increases.

  3. Simple compression algorithms are fast.

  4. Compress data before sending.

  5. 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.