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
- Цель SRE — надёжная система
- Как внедрить Site Reliability Engineering (SRE)
- Что такое Site Reliability Engineering и зачем он нужен
- Простыми словами о базовых принципах SRE
- Основные принципы SRE
- Принципы SRE компании Google
- Любите DevOps? Вы еще не знаете об SRE!
- SLO и SLI на практике
- MTBF, MTTR, MTTA и MTTF
- Terraform: новый подход к Infrastructure as Code
Видео
- Т-Образование: Лекторий по SRE
- Mobile SRE: кто и зачем?
- DevOps vs SRE: В чем отличие?
- Google: SLIs, SLOs, SLAs
- Как стать SRE-инженером?