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 мониторинга:
- Latency -- время ответа (разделяя успешные и ошибочные запросы)
- Traffic -- объём запросов (RPS, QPS)
- Errors -- процент ошибок (5xx, таймауты)
- 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 -- для руководителей. Книга бесплатна онлайн, поэтому нет причин не прочитать хотя бы ключевые главы.