📈 Мониторинг, Observability и релизы
Мониторинг — датчик дыма: сработал, значит, горит. Observability — камеры и журнал, по которым пожарные понимают, где и почему загорелось
Три столпа observability
| Сигнал | Что это | Вопрос, на который отвечает |
|---|---|---|
| Метрики | Числа во времени: запросов в секунду, ошибок, время ответа | Что происходит и как давно |
| Логи | Записи о событиях с подробностями | Что именно случилось в конкретный момент |
| Трассировки | Путь одного запроса через все сервисы | Где в цепочке сервисов потерялось время |
Инструменты, которые ты услышишь: Prometheus и Grafana для метрик, ELK или Loki для логов, Jaeger для трассировок, Sentry для ошибок. Знать названия достаточно
Что смотрит менеджер
- Доступность: какую долю времени сервис отвечает. SLA 99,9% значит до 8,7 часа простоя в год
- Ошибки: доля запросов с ошибкой. Рост после релиза — сигнал откатить
- Скорость ответа: не среднее, а 95-й или 99-й перцентиль, то есть сколько ждут самые медленные пользователи
- Бизнес-метрики: заказы в минуту, успешные оплаты. Если техника зелёная, а заказы упали, проблема есть
- Процесс: есть ли дежурство, как быстро реагируют, разбираются ли инциденты без поиска виноватых
Релизы
Безопасный релиз — это не ночной деплой с молитвой. Автоматический пайплайн с тестами, выкатка на часть пользователей, фича-флаги, чтобы включить функцию без деплоя, и план отката за минуты. Менеджер проверяет перед релизом: есть ли откат, кто дежурит, знает ли поддержка о новых функциях
Пример из жизни
После релиза техника была зелёной: сервисы отвечали, ошибок не было. Через час поддержка сообщила, что оплаты не проходят. Оказалось, платёжный шлюз отвечал успехом, но на пустые запросы. Команда добавила бизнес-метрику «успешных оплат в минуту» с алертом. Следующую похожую проблему поймали за пять минут вместо часа
Важно запомнить
- Мониторинг говорит, что сломалось. Observability говорит, почему
- Смотри на перцентили и бизнес-метрики, а не только на среднее и серверы
- Перед релизом: откат, дежурный, фича-флаги
Как ответить на собесе
Что ты смотришь в мониторинге и что такое observability?
«В мониторинге я смотрю четыре вещи: доступность сервиса, долю ошибок, время ответа по 95-му перцентилю и бизнес-метрики вроде успешных оплат в минуту. Последнее важнее всего: техника может быть зелёной, а оплаты не идти. Observability шире, это когда по логам, метрикам и трассировкам команда может разобрать проблему, которую заранее не предвидела, например найти, в каком из десяти сервисов теряется время. Я не настраиваю это сам, но требую, чтобы у проекта были дашборд, алерты по ключевым метрикам и дежурный, и смотрю на дашборд после каждого релиза»