BOOKS DEEP-READ · SRE · CH 34

Conclusion

Site Reliability Engineering · Ch 34 · Google · 2016

中文 →

What is this chapter about?

Behind every app you open, there is a group of people whose whole job is one thing: don't let it go down. This chapter is the last two pages of a seven-hundred-page book, and it does exactly one thing — it squeezes the previous thirty-three chapters into a single sentence.

Start with something odd

The goal these people set for themselves is not "never have an outage." It is closer to "we are allowed to be broken for about half an hour this year." Odder still: if that half hour is still unspent by December, someone will point it out — you're being too careful, go take more risk.

It sounds like slacking. It is actually the hardest move in the book: it converts "don't break things," which nobody can argue about, into something you can do arithmetic on.

Why the old world was hard

The old arrangement put the people shipping features and the people keeping things up on opposite sides. One wants to launch, the other wants nothing to move. Both are sincerely right, and neither of them has a number. So "can this version ship?" becomes a meeting won by seniority, volume, or sheer stamina.

Worse, the first move after an outage is usually to find the person. But the only place the real story of a failure exists is in that person's memory — and the moment you start punishing people for telling it, they stop telling it.

How it actually works

Three steps, each less intuitive than the last.

One: turn "is it good?" into a reading. Stop asking "is the system stable" and start asking "out of a hundred people using it, how many had it work?" That number can be read off a dial — and a number can be written down: for this service, this is what passing means.

Two: turn what's left over into money you can spend. If passing means "no more than one in a hundred fails," then that one is your allowance. It behaves like a household budget: while there's room, spend it — ship more, try more. When it's gone, stop.

Three: when it's gone, the brakes come on by themselves. Note "by themselves": the condition was written down before anything went wrong, so on the day it triggers, nobody has to win an argument. The rule already spoke. This is the pivot of the entire book — the shouting match became a reconciliation of accounts.

Two supporting habits come with it. Give the repetitive work to machines, or people get buried in chores and never get the hours back to remove the next outage. And after a failure, ask only what conditions made it possible, never who did it — because what you want is the truth, and the truth only ever comes out of a person's mouth.

What it buys you / how to choose

Reliability stops being a shouting match and becomes a reckoning: how stable is stable enough, how much allowance is left, is this launch worth spending it? Three questions — and anyone can answer them by pointing at a number.

The cost is one sentence, and it's fatal: all of this only holds if "when the allowance runs out, launches really do stop" has been signed off by someone senior. Without that, the allowance is a poster on a wall.

Remember this

Reliability is not bought with more care, more people, or longer reviews. It is something you can define, measure, budget, and enforce automatically: turn "is it good?" into a reading, turn what's left of that reading into an allowance you can spend, and stop when it's gone. What it needs is not a hero — it's one scale and one rule written down in advance.

Want the SLI/SLO/error-budget mechanics, the availability-tier table and the diagrams? → Switch to the deep read