Chapter 5. Design Patterns for Scaling

The only real problem is scaling. Everything else is a sub-problem.

—O’Dell’s Axiom

A system’s ability to scale is its ability to process a growing workload, usually measured in transactions per second, amount of data, or number of users. There is a limit to how far a system can scale before reengineering is required to permit additional growth.

Distributed systems must be built to be scalable from the start because growth is expected. Whether you are building a web-based service or a batch-processing data analytics platform, the goal is always to be successful, which usually means attracting more users, uses, or data.

Making sure a service is fast and stays fast is critical. If your service does not scale, ...

Get Practice of Cloud System Administration, The: DevOps and SRE Practices for Web Services, Volume 2 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.