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