Distributed Systems
Concepts and Design
I'm co-author of this standard university text on distributed computer systems, now in its 5th edition.
Nowadays, of course, almost every computer system is distributed. The book explains how to think about and design collections of interacting computers. That knowledge is otherwise largely buried under an overwhelming mass of what I think of as plumbing: new frameworks with little rationale or analysis, and the pipes to connect them.
Check out the book's website for additional material and other teaching resources.