The Computing Series

Introduction

A load balancer routes a request to a server. A session cache returns a user’s data. A dependency resolver decides which packages to install and in what order.

Each of these is a system you have used, operated, or built. But there is a different way to look at them — one that makes you faster at debugging, better at capacity planning, and clearer in design reviews. The question is not “how does this system work?” The question is: “which algorithm is this system running, and what does that tell me about its performance characteristics?”

Every production system is built from algorithms you have already studied. The load balancer is running a hash function. The session cache is running a key-value lookup. The dependency resolver is running a topological sort. The translation layer between the algorithm and the system you operate is what this book provides.


Read in the book →