Leon Fayer: о мониторинге бизнеса
Надо понимать бизнес, надо измерять бизнес. Бывают ситуации, когда с системной точки зрения всё хорошо, но с точки зрения бизнеса ничего не работает. А бывает и наоборот.
Подходы к мониторингу бизнеса такие же, как и к мониторингу системы. Мы используем те же системные метрики, ведь, в конечном итоге, ты всё равно смотришь на цифры. Нам важно следить за бизнесом, чтобы понимать, что чинить. А ещё мониторинг необходим потому, что всё динамично меняется.
Если подытожить, то мониторинг нужен по следующим причинам: — тестирования недостаточно; — совершенного кода и процессов не существует; — системы становятся сложнее, происходят постоянные изменения; — растёт внешняя зависимость; — упреждение лучше, чем реагирование.
Почему так важна взаимная интеграция?
Результаты работы инженеров и маркетологов тесно связаны. То, что хорошо для бизнеса, может быть плохо для технической команды и наоборот. Представьте, что в техническом отделе забили тревогу — сильно упала скорость загрузки из-за резкого роста числа пользователей (заказов/запросов/обращений/регистраций/покупок). Система не выдерживает, никто не был готов, инженеры не могут понять, что происходит, и что стало причиной скачка нагрузки. А в это время тремя этажами выше отдел маркетинга открывает шампанское: “успешно прошла акция, народ валит толпами, все довольны, как танки”.
Или, например, бизнес перестаёт иметь дело с карточками American Express, расторгает соответствующий договор, но не говорит об этом техотделу. В результате падают авторизации, снижается прибыль. И начинается крик в сторону инженеров.
По большему счёту, бизнесу ведь всё равно, что серверы горят, пока они получают прибыль. Но когда происходит серьёзная поломка, и деньги перестают поступать, виноваты всегда инженеры.
Другая проблема: бизнес не всегда хочет делиться информацией с инженерами. С их точки зрения, зачем инженерам, которые сидят в закрытой комнате, знать, сколько денег получает компания. В данной ситуации важно объяснить, как это поможет общим интересам, а ещё лучше — показать (если бы у меня была нужная информация, вы не потеряли бы прибыль в прошлом месяце из-за такого-то сбоя).
Грубо говоря, технарям нужна нетехническая информация, и она должна даваться своевременно. Именно поэтому диалог очень важен.
Что нужно покрыть мониторингом?
Метрик много не бывает. Собирать надо всё, а что делать с информацией, мы решим. А вот бить тревогу нужно лишь в ситуациях, когда это действительно критически важно. Если события оплаты вдруг резко упали, то нам стоит проснуться и посмотреть в чём дело, ведь это влияет на бизнес, мы теряем деньги. А если просто диск на 80 % заполнен, то можно и до утра подождать, ведь бизнес продолжает работать, а критичной проблемы нет.
Как раз для того, чтобы понимать, что реально важно, и собирают бизнес-метрики. Причём следует мониторить как постоянные события (регистрации, оплаты), так и единоразовые (акции, сезонные распродажи).
Итак, мониторинг должен покрывать: — инфраструктуру; — базы данных; — приложения; — точки интеграции; — латентность; — нагрузку; — регистрации — покупки; — просмотр рекламы; — конвертации; — % возвратов.
«В Бога верь, а остальное мониторь».
И ещё пару советов
Не всегда целесообразно хранить информацию короткие промежутки времени, например, две недели, а потом удалять её. Иначе, как вы узнаете с системной точки зрения, что потребуется сделать на этот Новый год, если нет детальной информации за прошлый Новый год?
Также не стоит пытаться всё усреднить. Средняя величина — это зло. Не всегда, но чаще всего. Важна каждая секунда, каждый пользователь.
Вывод прост: если вы технический специалист — научитесь понимать бизнес, анализировать бизнес, разговаривать с бизнесом.
Статья подготовлена по материалам подкаста DevOps Дефлопе, проведённого инженерами компании “Экспресс 42”: Виталием Хабаровым и Андреем Александровым. Все выпуски подкаста — здесь.