Ответ
SLA (Service Level Agreement) — это формальное соглашение между поставщиком услуги и ее потребителем, которое определяет количественные метрики качества обслуживания и последствия их невыполнения.
Ключевые метрики SLA в DevOps-практике:
- Доступность (Availability/Uptime): Процент времени, когда сервис функционирует. Выражается как «девятки».
99.9%(«три девятки») ≈ 43 минуты простоя в месяц.99.99%(«четыре девятки») ≈ 4 минуты простоя в месяц.
- Время на восстановление (RTO — Recovery Time Objective): Максимально допустимое время простоя сервиса после сбоя.
- Целевая точка восстановления (RPO — Recovery Point Objective): Максимальный объем данных (во времени), допустимый к потере (определяет частоту бэкапов).
- Время реакции и разрешения инцидентов: Например, «критичные инциденты (P1) получают ответ в течение 15 минут и устраняются за 1 час».
Как DevOps-инженер работаю с SLA:
- Мониторинг и алертинг: Настраиваю системы (Prometheus, Grafana, Datadog) для отслеживания метрик, напрямую связанных с SLA: uptime, latency (p95, p99), error rate. Алёрты конфигурируются при приближении к пороговым значениям.
- Проектирование отказоустойчивости: Чтобы выполнить строгий SLA по доступности, внедряю архитектурные паттерны: редундантность на всех уровнях (зоны доступности, регионы), автоматическое переключение (failover), graceful degradation.
- Автоматизация реагирования: Использую runbooks в системах типа PagerDuty или Opsgenie, которые автоматизируют первые шаги реакции на инцидент, сокращая MTTR (Mean Time To Repair).
- Пример расчета и мониторинга в Prometheus:
# Prometheus Rule для алерта при падении доступности ниже 99.9% за последний час - alert: APIAvailabilityBelowSLA expr: (1 - (avg_over_time(probe_success{job="api-health"}[1h]))) * 100 > 0.1 for: 5m labels: severity: critical annotations: summary: "Нарушение SLA по доступности API (менее 99.9%)" description: "Доступность за последний час составила {{ $value }}%"Нарушение SLA обычно влечет финансовые компенсации (credits) для клиента в облачных моделях или штрафы во внутренних соглашениях.