Understanding Distributed Systems, Second Edition: What every developer should know about large distributed applications
D**S
Great book
Perfect book
K**L
Easily worth reading twice - brief, clear, and concise - high value read
This truly is the guide I wanted when I started my path down the distributed systems way.Reading this book provided me with exactly what I wanted:1) a broad understanding of the topic2) references for further reading3) just enough meaningful context to make the references useful4) provided good mental models and rationale for reasoning about and designing distributed systems.This is a wonderful introductory book for an experienced engineer. Roberto clearly knows what he is doing and has a knack for condensing information into useful, consumable chunks. I look forward to accepting his recommendations of reading the referenced academic papers and book recommendations me made throughout the book.
V**R
Excellent book
Excellent book, I'm almost finishing it and it's a really nice book.For the record, the book has some grammar errors that I suppose that they could be easily avoided.
S**L
Great introduction to distributed systems
The author does a good job going over the main aspects of the topic and provides great references for further reading.
M**R
Great book to get a high-level view of all that is Distributed Systems
This book has a good balance between giving a nice overview of the concepts as well as diving a little deeper into some of them. What I specifically like about it is that its not boring to read and follow. The author has a good sense of which topics require the depths and which the breadth. I Highly recommend to read it before any other book on the subject.
J**F
excellent overview of system design topics
I feel that this book is a must read for anyone interested in cloud scale systems design. It is well written and well organized.
A**E
Overall Good Coverage but Unbalanced
I’m coming to this with twenty plus years of software engineering experience, mostly to reinforce and fill in the occasional gap. (We chose this as a book club book at my company.)There’s pretty good breadth in terms of topic coverage. There is good advice, most of which I agree with (not all). But the main drawback to me is the unbalanced coverage. Some topics are just very lightly glossed over, while others provide what to me is far more depth than the average engineer needs to know—some pretty esoteric stuff only someone, say, working on Dynamo or Azure itself needs to really understand. I get these are used as examples, but a broadly-focused overview book might better target the 80% use cases and knowledge required to be effective for those.
B**N
Good introduction, as long as you have a technical background
I got this book since I'll be interviewing for software engineering jobs soon, and some places want everybody to know systems design. It's a good introduction of the components, and a surprisingly engaging read. It doesn't go deep, but provides enough information to understand the basics; and there's a lot of basics to understand.Just know that if you want to know how to design a distributed system, you'll need to look for further sources. This book describes the pieces well, but its part on how to "scale out" a distributed system (make a big system from many computers) is just one of five sections. If you're going to interview soon, there are websites with good recommendations out there, which is how I found this book in the first place.
F**E
An excellent overview on Distributed Systems & all its pieces
Definitely one of the best introduction book for Distributed Systems out there. Recommended if you are new to the area or simply want to get broad knowledge on how things are connected and communicate with each other. Goes deep enough in most topics that you can search for more information on a certain topic if you're curious.
H**.
Highly recommended for software engineers at fairly big companies
This is a solid book. If you are a software engineer at a reasonably big company, especially if you are working on server side, data intensive systems, this book will likely be very useful, even if you have experience.Roberto Vitillo discusses a wide range of topics, going for breadth over depth in most cases. There is a little theory, for example regarding coordination and leader election but the bulk of it is very practical. The main areas likely to be useful for practical work are about networks, security, APIs, databases (including replication, transactions and partitioning), caching, load balancing, messaging, monitoring, observability and testing.As the title suggests the focus is on the problems and challenges that occur when you are running software systems on more than one machine. The key point is that faults and failures are inevitable (largely because of not knowing what goes wrong across communication links), but that they can managed more effectively by making things as scalable, reliable and maintainable as possible. This entails certain architectures, best practices and the right tools.There are loads of useful references for deeper dives.If you have read the also excellent "Designing Data Intensive Applications" (Kleppmann) this is quite similar, though a bit lighter, a fair bit more practical, and a good complement. Because it is so practical it could be a very useful resource for a system design interview.
A**H
Good (must ) read for senior developers
Book covers the breadth of distributed systems and is a really a good read, I would recommend to anyone who wants to know the world of distributed systems
B**Y
An entry point into Distributed Systems, A must-read for begineers
The book has a very good balance between detail and breadth coverage of the topic. It goes just into enough detail to grasp a good primary understanding of every subject. Before reading any book on distributed systems, I'd suggest reading this one as it ease reading more complex material. It even offers a lot of references (books, papers and videos) to go into more detail.The text is easy to read, not too mathy nor obscure, and goes straight to the point.
R**H
Great intro Book on DS
The book does a great job on clarifying a lot of concepts in distributed systems. It's a great Introductory book for those who want to read something easy before diving deep into this topic or before preparing for system design interviews.
Trustpilot
2 weeks ago
2 months ago