Designing Data-Intensive Applications - Chapter 1 - Reliable, Scalable, and Maintainable Applications
Earlier this year the book club of our company has studied excellent book:
This is the best book I have read about building complex scalable software systems. 💪
As usually (to better learn) I prepared an overview and mind-map.
Chapter 1:
- Building blocks of the apps
- What is Reliability, Scalability and Maintainability. Examples and definitions.
- Faults and Failures
- Performance, Load, Latency and Response Time
- Operability, Simplicity, Evolvability
- Why you should randomly kill your servers 😅
- How Twitter delivers 12,000 tweets per second to 300,000 readers per second. (VERY interesting!)
- How much money Amazon loses for each 100ms delay in their response time
- How to quickly calculate percentiles for monitoring response time in PROD
See also:
- Designing Data-Intensive Applications - Chapter 12 - The Future of Data Systems
- Designing Data-Intensive Applications - Chapter 11 - Stream Processing
- Designing Data-Intensive Applications - Chapter 4 - Encoding and Evolution
- Designing Data-Intensive Applications - Chapter 10 - Batch Processing
- Designing Data-Intensive Applications - Chapter 8 - The Trouble with Distributed Systems