HACKER Q&A
📣 eatonphil

Best books on modern distributed systems


I've read designing data intensive systems and it covered distributed systems a bit.

I don't find most textbooks to be an actually good intro outside of a course setting. For example, I own Andrew Tannenbaum's Distributed System book and a few others of his. But his writing style is too dense for me to make enough progress without giving up.

What other books (probably not textbooks) do you recommend on distributed systems?


  👤 skrtskrt Accepted Answer ✓
Designing Data Intensive Applications has treated me well, getting me through pretty much every system design interview I have had.

I am going to move onto either

* O'Rielly Designing Distributed Systems or

* O'Rielly Architecture Patterns with Python

Could anyone recommend either one?

I am mainly a Python dev (with no particular love for Python), but that doesn't necessarily make me want to use the Python book more. Having code examples I can grok immediately is nice, but I also enjoy the exercise of translating concepts to code myself.


👤 rodikana
Concurrency and Scalability for Distributed Systems is on my reading list, it's in early release but I think it's what you want https://learning.oreilly.com/library/view/concurrency-and-sc...

👤 vinay_ys
Seek out distributed systems research papers from real-world practitioners. A quick search lead me to this nice collection: https://dancres.github.io/Pages/

👤 osivertsson
If you read https://www.worldcat.org/title/designing-data-intensive-appl... you are probably ready to read research articles of basic concepts that Tanenbaum's book references.

When doing my MSc in CS at Uppsala University we implemented a distributed system. We used Tanenbaum's book and while very good it was a bit terse on details. Looking up the actual research papers referenced was helpful during implementations.


👤 fisheuler
Ken Birman's (https://www.cs.cornell.edu/ken/)' book

"Guide to Reliable Distributed Systems: Building High-Assurance Applications and Cloud-Hosted Services"

He even give a course about topics in cloud computing : https://www.cs.cornell.edu/courses/cs5412/2021sp/

Another interesting course about distributed system is from MIT https://pdos.csail.mit.edu/6.824/schedule.html


👤 heuroci
This depends a bit on what you aim to get out of reading them? I liked both of the books you mentioned for different reasons personally. Do you have a set of goals you wish for as an outcome? could you say a bit more about your background as well, please?

👤 rvprasad
While they are not solely focused on distributed systems, these five books -- https://rvprasad.medium.com/books-about-designing-systems-of... -- cover different aspects of designing systems of scale, which are most often distributed systems.

👤 devinmcafee
While not a book: I took Udi Dahan's Advanced distributed systems design course in 2018 and can't recommend it enough: https://particular.net/adsd

I'm pretty sure there is an online course available which you can watch, so it's a slightly different medium but may be a nice change of pace from reading. The course was really informative for me and has really been paying dividends in my career.


👤 bwh2
I also enjoyed:

* Release It! by Michael Nygard

* System Design Interview by Alex Xu