Books about Designing Systems of Scale
These books cover design trade-offs to consider when scaling systems, the cost and benefits of each design choice, and how current technologies embrace and influence these design choices. They do so while being focused on practice.
Books 1 and 2 are more high-level and cover aspects relevant when designing and operating a system. They are light on nitty-gritty low-level design/implementation details. If you can read only one of these, then I recommend “Architecting for Scale” as it provides a more detailed exposition of topics such as risk, reliability, and SLA, which I think are crucial to know when dealing with systems of scale.
Books 3 and 4 go beyond high-level design and into low-level design / implementation patterns currently inherent in systems of scale. They cover common problems in (distributed) systems of scale along with different algorithms used to tackle these common problems. They also present the algorithms in connection with prevalent technologies; both as case studies (book 3) and as examples (book 4).
Book 5 is a bit dated but it covers most of the common architectural/design concerns in internet scale systems.
1) Scalability Rules
Venkatesh-Prasad's review of Scalability Rules
4/5: The book discusses rules related to scalability of systems/solutions. Every rule in the book is valid. Each rule…
2) Architecting for Scale
Venkatesh-Prasad's review of Architecting for Scale
5/5: The book is about architecture for scale with specific focus on availability. It is not about scalability design…
3) Distributed Systems for Practitioners
Distributed Systems for practitioners
Learn the basic principles that govern how distributed systems work and how you can design your systems for increased…
4) Designing Data-Intensive Applications
Venkatesh-Prasad's review of Designing Data-Intensive Applications
5/5: Probably the best book to learn about the challenges in designing modern-day distributed systems. This book…
5) Scalable Internet Architectures
Venkatesh-Prasad's review of Scalable Internet Architectures
4/5: While the problems presented in the book are interesting and relevant, the solutions seem a bit dated. I guess…
As for the reading recommendation, I recommend starting by skimming the fifth book. Then, reading the second book followed by skimming the first book. Finally, reading the fourth book followed by the third book. Make sure you have a highlighter when reading books 2, 3, and 4. Also, set aside time to do deep dives when reading the third and fourth books.