Site Reliability Engineering, 2nd Edition
by Betsy Beyer, Chris Jones, Christof Leng, David Huska, Jennifer Petoff, Niall Richard Murphy
Part IV. Infrastructure Design
This section explores how SREs build and maintain the foundational environments in which services operate. Rather than treating infrastructure as a static set of resources, SRE applies a software engineering mindset to design environments that are inherently robust, scalable, and efficient.
We begin with Chapter 13, “Automation and Tooling”. A core tenet of SRE is that we should engineer our systems rather than just operate them, using automation to save time, ensure consistency, and achieve sublinear scaling. This chapter explores that idea, along with when not to automate. It discusses the ironies of automation, warning against the deskilling of operators and the creation of new, more complex maintenance work, and provides a framework for incremental automation and systematic toil reduction to keep engineering workloads sustainable.
Next, Chapter 14, “Testing”, examines how we build confidence in our systems. It goes beyond the traditional hierarchy of unit, integration, and system tests, exploring advanced techniques such as fault injection testing (chaos engineering) to proactively introduce failures and observe system resilience. The chapter also details using formal methods to mathematically verify system behaviors and catch complex design flaws before they reach production.
In Chapter 15, “Capacity Planning”, we examine the delicate balancing act between predicting user demand and managing resource supply. This chapter explores how to achieve ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access