Обеспечение надёжности сайтов
SRE
Что это такое
Обеспечение надёжности сайтов — это практика: сформулировать, насколько надёжным должен быть сервис, измерять, так ли это, и сделать это измерение арбитром в вопросе, когда выпускать функции, а когда чинить систему. Центральный инструмент — цель уровня обслуживания: ориентир вида «99,9 процента запросов успевают за 300 миллисекунд». Разница между ориентиром и идеальной надёжностью — бюджет ошибок; он тратится по мере отказов и решает, чем команда займётся дальше.
Почему это важно
Без явного ориентира на вопрос «достаточно ли это надёжно» отвечает тот, кто громче, после очередного сбоя. Одни требуют больше функций, другие — больше устойчивости, и спор решается анекдотом. Ориентир превращает это в арифметику: если сервис укладывается в бюджет — выпускайте функции; если бюджет исчерпан — сначала чините надёжность, и все уже согласились с правилом. Это ещё и предотвращает столь же дорогую ошибку — чрезмерные вложения в надёжность, которая продукту, где никто так на неё не полагается, не нужна.
Что в этом треке
- Цели уровня обслуживания (06-cloud-devops/23-site-reliability-engineering/01-service-level-objectives) — выбор ориентира, который измеряет то, что чувствуют пользователи.
- Бюджеты ошибок (06-cloud-devops/23-site-reliability-engineering/02-error-budgets) — как тратить и применять бюджет и что бывает, когда он кончается.
Предварительные требования
- Мониторинг и наблюдаемость (Prometheus / Grafana) (06-cloud-devops/18-monitoring-observability-prometheus-grafana)
Что читать дальше
- Мониторинг и наблюдаемость (Prometheus / Grafana) (06-cloud-devops/18-monitoring-observability-prometheus-grafana) — измерение, от которого зависит эта практика, поэтому читайте первым.
- Администрирование Linux (06-cloud-devops/09-linux-administration) — операционная реальность, в рамках которой цели должны быть достижимы.
- CI/CD (06-cloud-devops/08-ci-cd) — скорость поставки, которой призван управлять бюджет ошибок.