Why designing highly available services important

Arpit Bhayani

Arpit Bhayani

Nov 02, 2023 • 1 min read


Why designing highly available services important? ⚡

Because services are only useful when they’re online. Unavailable services not only lead to a loss in revenue but also affect the trust of your customers.

So, the next time you design any system, have a plan B for every plan A and ensure the system auto-recovers from partial failures. Some key concepts that would help you achieve this are

  1. auto-recovery through a leader election
  2. geo-distribution for regional outages
  3. data replication and redundancy
  4. keep the compute stateless

You possibly cannot achieve 100% availability across all types of failures and hence it is important to understand what you are okay tolerating. For example, not having your database available in case of a DC outage is an okay and acceptable trade-off for some use cases.

⚡ system design December 2023 cohort is open for admission, only 55 seats remain; enroll to learn system design the right way

arpitbhayani.me/course

Arpit Bhayani

Principal Engineer II at Razorpay - building Agent Studio, Ex-staff engg at GCP Memorystore & Dataproc, Creator of DiceDB, ex-Amazon Fast Data, ex-Director of Engg. SRE and Data Engineering at Unacademy. I spark engineering curiosity through my no-fluff engineering videos on YouTube and my courses