Книгу Google важно читать не ради терминов, а ради модели, в которой надёжность становится общей экономикой разработки, продукта и эксплуатации.
Книга связывает целевые уровни сервиса, бюджет ошибок, сокращение ручного операционного труда, дежурство, разборы инцидентов и четыре золотых сигнала в систему управления промышленной эксплуатацией.
На интервью этот материал даёт сильную рамку для разговора о целях уровня сервиса, операционной нагрузке, границах автоматизации и цене отказа в больших системах.
Практическая польза главы
Практика проектирования
Проектируйте сервис через измеримые показатели, целевые уровни сервиса, бюджет ошибок, четыре золотых сигнала и понятные правила реакции.
Качество решений
Оценивайте архитектуру через ручной операционный труд, стоимость дежурства, риск релиза и способность команды учиться после инцидентов.
Аргументация на интервью
Объясняйте, как выбранная цель уровня сервиса влияет на мониторинг, выпуск изменений, откат и приоритет инженерных улучшений.
Формулировка компромиссов
Явно фиксируйте баланс между скоростью разработки, надёжностью, операционной нагрузкой и ценой недоступности.
Бесплатная версия
SRE Book от Google
Полный текст книги доступен бесплатно на сайте Google
Site Reliability Engineering (Site Reliability Engineering. Надежность и безотказность как в Google)
Авторы: Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy
Издательство: O'Reilly Media, 2016
Объём: 552 страниц
Как Google превращает надёжность в инженерную дисциплину: SLO, бюджет ошибок, ручной операционный труд, дежурство, мониторинг и разборы инцидентов.
Эта глава смотрит на как на инженерную модель надёжности: через показатели, цели и соглашения уровня сервиса, , , , дежурство, , разборы инцидентов и .
Ключевые идеи SRE
SLI / SLO / SLA
(SLI) — измеримая метрика качества: например, , или .
(SLO) — целевое значение выбранного показателя, например 99,9% доступности.
(SLA) — внешние обязательства и последствия за нарушение.
Бюджет ошибок
Ручной операционный труд
Культура разбора инцидентов
Структура книги
Introduction
Principles
Practices
Management
Практики из книги
Мониторинг и оповещения
помогают видеть состояние сервиса глазами пользователя:
- Задержка — время ответа отдельно для успешных и ошибочных запросов.
- Объём запросов — сколько работы проходит через систему.
- Доля ошибок — сколько запросов завершилось неуспешно.
- Насыщение ресурсов — насколько близко система подошла к пределу мощности.
Дежурство
Здоровое защищает и сервис, и команду:
- Не более 25% времени инженеров SRE уходит на дежурство.
- Смена не должна регулярно превращаться в поток непрерывных инцидентов.
- Для типовых проблем есть понятные .
- Между сменами обязательна .
Инженерия выпуска изменений
снижает риск каждого релиза:
- делают результат воспроизводимым.
- запускают изменения постепенно.
- помогают управлять риском без нового релиза.
- должен срабатывать быстро, когда деградирует целевой уровень сервиса.
Применение на интервью по системному дизайну
Полезные концепции
- Зафиксировать уже на этапе уточнения требований.
- Использовать как метрику компромисса между скоростью и надёжностью.
- Выбрать для мониторинга.
- Спроектировать .
- Ограничить каскадные сбои через .
- Выпускать изменения через .
Где пригодится
- Как вы будете мониторить систему?
- Какие целевые уровни сервиса вы бы установили?
- Как система ведёт себя при отказах?
- Как выпускать изменения без недоступности?
- Что делать при перегрузке?
Главные выводы
Связанные главы
- The Site Reliability Workbook (short summary) - Практическое продолжение книги Google про инженерию надёжности сервисов: внедрение целевых уровней сервиса, оповещений, реагирования на инциденты и операционных шаблонов.
- Building Secure and Reliable Systems (short summary) - Показывает, как соединять требования безопасности и надёжности в одной инженерной модели.
- Release It! (short summary) - Дополняет подход инженерии надёжности сервисов практиками устойчивости: размыкателями цепи, изоляцией отказов и плавной деградацией.
- eBPF: The Documentary - Расширяет практики наблюдаемости инженерии надёжности сервисов телеметрией и диагностикой на уровне ядра.
