MENU

Fun & Interesting

Design Patterns for High Availability: What gets you 99.999% uptime?

Gaurav Sen 27,733 lượt xem 1 year ago
Video Not Working? Fix It Now

In this video, we discuss the topic of availability in distributed systems.

We categorize organizations based on their acceptable levels of availability, ranging from startups to mature companies aiming for five to six nines of availability.

InterviewReady: https://interviewready.io/

We share a real-world example of a startup facing availability challenges with its database hosted in the wrong region. The solution involves migrating the database to a more suitable location and implementing a step-by-step process to minimize downtime.

Here are five principles for building highly available systems:

1. Simplicity over Perfection
2. Downtime Over Loss
3. Lesser Moving Parts
4. Chaos Engineering
5. Incident Reports and Root Cause Analysis

We also touch upon fault tolerance strategies such as redundancy, load balancing, and database replication to ensure high availability in distributed system components.

Engineers should either leverage existing highly available systems or adopt a principled approach to building and maintaining availability in their systems.

00:00 Who is this video for?
00:20 The 9s of availability
02:43 War Story at InterviewReady
06:14 Principles for High Availability
09:05 Design Patterns for Availability
12:31 Conclusion
12:49 Thank you!

Designing Data-Intensive Applications Book: https://amzn.to/3SyNAOy

You can follow me on:
Github: https://github.com/InterviewReady/system-design-resources
Instagram: https://www.instagram.com/interviewready_/
LinkedIn: https://www.linkedin.com/company/interview-ready/
Twitter: https://twitter.com/gkcs_

#HighAvailability #SystemDesign #SoftwareEngineering

Comment