1.1. From Monoliths to Distributed Systems
Every system starts on one node. As demand and data grow, you eventually hit the physical ceiling of single-machine processing — and the transition to a distributed architecture is a trade, not an upgrade. You exchange a bounded, well-understood set of problems for an unbounded set of network-induced ones. This chapter examines when that trade pays off, what it costs in money and complexity, and the network truths you must accept before writing a line of distributed code.
Topics Covered
Section titled “Topics Covered”- 1.1.1. The Scaling Dilemma: Vertical vs. Horizontal Scaling: Examines the physical limits of growing a single machine versus the complexity of spreading across many nodes.
- 1.1.2. Cost-Performance Curves and Hardware Limits: Analyzes the financial and performance trade-offs, including the latency ladder from CPU cache to cross-region RTT.
- 1.1.3. Stateful vs. Stateless Services: When to Use Which: Explores how state placement dictates service design, elasticity, and horizontal scalability.
- 1.1.4. The 8 Fallacies of Distributed Computing: Confronts the dangerous assumptions engineers make about networks, latency, and reliability, each mapped to a real failure.
- 1.1.5. Network Reliability, Bandwidth Limitations, and Topology Changes: Details the physical constraints of network communication and how to manage dynamic topology changes in production.