Profile picture

Andrei Vasilev

Software Engineer

Thoughts & things happened in my life

Personal blog where I write about software development, productivity, and other things I find interesting.

Understanding Distributed Systems [Book Review]

July 03, 2024

Preview image

In this article, I’ll share my thoughts on the popular book “Understanding Distributed Systems” by Roberto Vitillo.

Before buying the book, I read numerous reviews and feedback on Amazon and Goodreads, so I had a good idea of what to expect. This book is marketed as a concise introduction to the topic of distributed systems, and it lives up to that promise.

By reading this book, you’ll gain a broad understanding of distributed systems and a basic grasp of specific topics within the field. This foundational knowledge can then be expanded by delving into more detailed and specialized papers or books. Essentially, this book helps you identify what you need to learn and clarifies previously unknown areas.

Realising that given in the book information cannot cover every specific topic in deep enough level author provided a numerous amount of references to supplementary articles, papers, and books for each topic, for further study. These references, combined with specialised literature, will help you become a professional in the field. For example, the author highly recommends the popular book "Designing Data-Intensive Applications" by Martin Kleppmann. Additionally, I would recommend taking a look at "Distributed Systems" by Maarten van Steen and Andrew S. Tanenbaum. (You can get a free copy for personal use)

One drawback is that some topics are not clearly connected, making it occasionally difficult to follow the author’s thoughts. Additionally, some subjects require more explanation to grasp the basic concepts fully. However, since this book is not intended to be a comprehensive reference, it excels in its role of introducing the subject.


Overall, I can definitely recommend this book to anyone interested in distributed systems, especially junior and mid-level developers, as it provides a solid general understanding of the topic. However, those with more experience in distributed systems may find fewer new insights.