MidТеория2 min

Site Reliability Engineering (Google)

Обзор SRE-книги от Google: SLIs/SLOs, error budgets, toil, on-call, postmortems и культура надёжности

Site Reliability Engineering

Общая информация

Параметр Значение
Авторы Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy
Год 2016
Страниц 552
Уровень Intermediate
Издательство O'Reilly
Стоимость Бесплатно онлайн (sre.google/sre-book)
Рейтинг полезности 4/5

О чём эта книга

SRE Book -- это сборник эссе от инженеров Google о том, как они обеспечивают надёжность своих систем. Книга определила целую дисциплину: Site Reliability Engineering. Она описывает практики, процессы и культуру, которые позволяют управлять системами масштаба Google.

Главная ценность: Книга ввела в индустрию концепции SLI/SLO/SLA, error budgets и toil. Эти идеи стали стандартом для оценки и управления надёжностью в любой компании.

Структура книги

Часть I: Введение

Что такое SRE и чем оно отличается от традиционного ops:

  • SRE -- это "what happens when you ask a software engineer to design an operations function"
  • 50% времени на инженерные задачи, 50% на операционные
  • Toil budget -- ограничение на рутинную ручную работу

Часть II: Принципы

Глава Тема Ключевые концепции
3 Embracing Risk Error budgets, допустимый уровень ошибок
4 Service Level Objectives SLI, SLO, SLA -- три уровня метрик
5 Eliminating Toil Определение toil, как его измерять
6 Monitoring Distributed Systems Четыре golden signals
7 The Evolution of Automation Когда автоматизировать

SLI/SLO/SLA:

Уровень Определение Пример
SLI (Indicator) Метрика качества сервиса Latency p99, error rate
SLO (Objective) Целевое значение SLI p99 latency < 200ms за 30 дней
SLA (Agreement) Контракт с последствиями 99.9% uptime, иначе компенсация

Error Budget:

  • Если SLO = 99.9%, то error budget = 0.1% (43.8 минуты/месяц)
  • Пока error budget не исчерпан, можно деплоить и экспериментировать
  • Когда budget исчерпан -- стоп релизам, фокус на стабильность

Часть III: Практики

Глава Тема Что узнаете
8-10 Release Engineering CI/CD, canary releases, feature flags
11 On-Call Структура дежурств, нагрузка, компенсация
12-14 Troubleshooting Системный подход к диагностике
15 Postmortem Culture Blameless postmortems, action items

Четыре Golden Signals мониторинга:

  1. Latency -- время ответа (разделяя успешные и ошибочные запросы)
  2. Traffic -- объём запросов (RPS, QPS)
  3. Errors -- процент ошибок (5xx, таймауты)
  4. Saturation -- загрузка ресурсов (CPU, RAM, disk)

Часть IV: Управление

Глава Тема Что узнаете
16-18 Capacity Planning Forecasting, load testing
19-22 Distributed Systems Consensus, distributed cron
23-26 Data Pipelines Processing, integrity
27-34 Culture & Management Training, hiring, communication

Пять ключевых идей

1. Надёжность 100% -- не цель

Невозможно и не нужно стремиться к 100% доступности. Нужно определить допустимый уровень ошибок (error budget) и управлять им.

2. Toil -- враг инженера

Toil -- это ручная, повторяющаяся, автоматизируемая работа. Если toil > 50% времени, команда деградирует. Автоматизация -- ключевой навык SRE.

3. Blameless Postmortems

Разбор инцидентов фокусируется на системных причинах, а не на виновных. Цель -- предотвратить повторение, а не наказать.

4. Мониторинг -- это не алерты

Мониторинг должен быть actionable. Каждый алерт требует действия человека. Если алерт не требует действия -- он должен быть удалён.

5. Canary releases

Новый код сначала раскатывается на малый процент трафика. Автоматический откат при деградации метрик.

Плюсы

  • Авторитет -- написана инженерами Google, реальный опыт масштаба
  • Концепции -- SLI/SLO, error budgets стали индустриальным стандартом
  • Бесплатная -- доступна онлайн на sre.google
  • Культура -- уникальный фокус на организационных и культурных аспектах
  • Практичность -- каждая концепция подкреплена примером из Google

Минусы

  • Google-specific -- не все практики применимы к маленьким компаниям
  • Формат эссе -- нет единой нити повествования, главы написаны разными авторами
  • Устаревание -- некоторые инструменты Google (Borg) заменены (Kubernetes)
  • Объём -- 552 страницы, много материала, который можно было сократить
  • Нет пошаговых инструкций -- описывает ЧТО делать, но не всегда КАК внедрить

Кому читать

  • DevOps/SRE-инженерам -- обязательная литература
  • Tech-лидам, отвечающим за надёжность production
  • Инженерам, внедряющим SLO/SLI в своей компании
  • Менеджерам, формирующим SRE-команды

Кому НЕ читать

  • Backend-разработчикам без интереса к operations -- слишком специализированная
  • Начинающим -- нужен опыт эксплуатации для контекста
  • Тем, кто ищет конкретные рецепты для маленьких проектов

Рекомендация: Прочитайте части I и II полностью -- это фундамент. Часть III -- выборочно, по интересующим темам. Часть IV -- для руководителей. Книга бесплатна онлайн, поэтому нет причин не прочитать хотя бы ключевые главы.