Перейти к основному содержимому

SRE (Site Reliability Engineering)

SRE — подход к управлению операциями и надежностью систем. Объединяет программирование и системное администрирование для автоматизации и повышения надежности.

Цель: баланс между внедрением новых функций и поддержанием стабильности.

Роль SRE: обеспечение доступности платформы или сервиса клиентам в любых обстоятельствах.


Задачи

  • Поддержание стабильности сложных систем.
  • Устранение рутинных задач.
  • Управление рисками сбоев при внедрении новых функций.

Где используется

  • Крупные технологические компании.
  • Облачные провайдеры.
  • Организации с критической инфраструктурой.
  • Высокоавтоматизированные среды с быстрыми циклами разработки.

Принципы SRE

Бюджет ошибок

  • Количество простоев или ошибок, допустимых без нарушения SLO.
  • Пример: если SLO доступности — 99.9%, то 0.1% времени можно использовать для тестирования новых функций.

Автоматизация

  • Использование инструментов для управления сложными системами и сокращения ручных действий.
  • Примеры инструментов: Terraform, Ansible, Grafana.

Мониторинг и оповещение

  • Постоянный мониторинг систем и настройка алертов только на ключевые метрики.
  • Пример: оповещения на основе времени отклика или процента отказов.

Реагирование на инциденты и постмортемы

  • Четкие процедуры управления инцидентами.
  • Подготовка постмортемов — документов с анализом первопричин и планом предотвращения проблем в будущем.

Метрики отказоустойчивости

  • MTBF (Mean Time Between Failures): среднее время между сбоями.
  • MTTR (Mean Time to Repair): среднее время восстановления.
  • MTTA (Mean Time to Acknowledge): среднее время до начала работы над исправлением.

SLO, SLI, SLA

SLI (Service Level Indicator)

  • Метрика, измеряющая параметры работы системы.
  • Пример: 95% запросов обрабатываются менее чем за 200 мс.

SLO (Service Level Objective)

  • Целевое значение для SLI.
  • Пример: 95% запросов должны обрабатываться менее чем за 200 мс.

SLA (Service Level Agreement)

  • Договор между провайдером и клиентом о минимальном уровне обслуживания.
  • Пример: устранение проблемы с продуктом в течение 24 часов.

Отличие SRE от DevOps

  • DevOps: сокращает время между разработкой и развёртыванием через автоматизацию.
  • SRE: поддерживает стабильность и надежность в продакшене, используя инженерные подходы.

Подборка материалов по SRE

  1. Цель SRE — надёжная система
  2. Как внедрить Site Reliability Engineering (SRE)
  3. Что такое Site Reliability Engineering и зачем он нужен
  4. Простыми словами о базовых принципах SRE
  5. Основные принципы SRE
  6. Принципы SRE компании Google
  7. Любите DevOps? Вы еще не знаете об SRE!
  8. SLO и SLI на практике
  9. MTBF, MTTR, MTTA и MTTF
  10. Terraform: новый подход к Infrastructure as Code

Видео

  1. Т-Образование: Лекторий по SRE
  2. Mobile SRE: кто и зачем?
  3. DevOps vs SRE: В чем отличие?
  4. Google: SLIs, SLOs, SLAs
  5. Как стать SRE-инженером?

Книги

  1. Site Reliability Engineering. Надежность и безотказность как в Google — Бетси Бейер, Крис Джоунс. Скачать
  2. The Site Reliability Workbook — Betsy Beyer, Niall Richard Murphy. Скачать