With all the applications out there being (slowly) converted from sad monoliths into fast distributed microservices, the interest in distributed systems has obviously skyrocketed. I am not sure if it's because it's huge or because it's the fifth edition (suggesting the previous four were successful), but among the many titles available this felt like the one to start with. It is not.
The book is divided into parts (seven by heart) and a nice schema shows us how we can move in case we are only interested in a particular area (say security). Starting with the first chapter already, reading the book feels like listening to a long and very generic talk about some basic concept of telecommunication/computer networks. Next to these we find, instead, that the authors dive deeply into unnecessary details, such as the UDP protocol.
Let's face it. Anyone working with distributed systems must know the difference between TCP and UDP and the pros/cons of both. These concepts are usually taught during the very first computer networks class at the university, were the ISO/OSI stack is analyzed in great detail. Distributed systems should be the next step. Those concepts should be taken for granted.
What is the point of discussing the UDP datagram or how Java supports sending data over UDP in a Distributed systems title? Again, do we really need to be explained the difference between little endian and big endian here?
The book is well written, no doubts about this. But it fails to deliver real value to anyone interested in distributed systems. I was honestly expecting real life scenarios, discussions about highly-availability, scaling, how to deal with failures, security, just to mention some. None of this is given to the readers.
A big disappointment. Not to mention the price of the hardcover book, which is way beyond its real value or the price any book should have (180$). Knowledge should be easily accesible.