К основному содержимому
к интервью
Конспект интервью2023Fellow

Публичное интервью по troubleshooting для SRE-инженеров

В публичном интервью Александр Поломодов играет младшего инженера, а Салих Фахрутдинов — руководителя, которому звонят во время сбоя. У вымышленного финтех-сервиса уменьшается число платежей. Разбор показывает, как уточнять архитектуру, проверять гипотезы по доступным данным и выбирать восстановительные действия, когда ошибка находится в мобильном клиенте и обычного отката сервера недостаточно.

DevOops 20233 минуты

Конспект сокращён относительно исходного материала; примеры и оценки передают опыт и позиции участников.

Основная линия материала
01

Локализовать проблему по пути пользователя

До начала инцидента участники разбирают систему: веб- и мобильный клиенты получают конфигурацию, затем пользователь входит, видит продукты и может перейти к платежам. Мобильная конфигурация проходит через CDN. По условию серверная телеметрия доступна, а клиентская ещё не внедрена. Такое ограничение определяет ход расследования: нельзя сразу открыть отчёт об ошибках приложения и увидеть причину.

Сигнал — снижение числа платежей примерно на десять процентов. Ошибки и время ответа платёжного сервиса не выросли. Салих разделяет поток по каналам и платформам: веб и iOS работают без заметных изменений, падение приходится на Android и затрагивает разные версии. Проверяются недавние релизы и изменения конфигурации. Уменьшение запросов на сервере здесь оказывается следствием проблемы раньше в пользовательском пути, а не доказательством сбоя самого платёжного сервиса.

02

Откатить изменение и проверить все уровни кэша

В конфигурации продуктов появился новый элемент без поля позиции. На тестовом Android-устройстве воспроизводится пустой список продуктов. В финальном обсуждении уточняется различие клиентов: iOS не блокировал весь список из-за проблемного элемента, а Android реагировал иначе. Платёжная форма оставалась доступной, но пользователи, увидев пустой список, часто до неё не доходили. Поэтому бизнесовая метрика не указывала прямо на повреждённый экран.

Участники возвращают предыдущую конфигурацию и очищают CDN, однако приложение продолжает показывать пустой список: оно хранит конфигурацию до часа. Выход из учётной записи очищает кэш, но принудительно завершать все сеансы — отдельный компромисс с неудобством для незатронутых клиентов. Точно выделить пострадавших без клиентской телеметрии трудно. Обсуждаются ожидание, адресные инструкции и коммуникация с поддержкой; единственное универсальное действие для такой ситуации не объявляется.

03

После инцидента изменить условия его повторения

Следующий шаг — разбор с хронологией, задержками диагностики, удачными действиями и задачами улучшения. Поиск человека, изменившего конфигурацию, не заменяет этот анализ. Отсутствовали удобная видимость конфигурационных изменений, телеметрия клиента и управляемое обновление его кэша. Наличие инструкции по очистке CDN, напротив, помогло быстрее выполнить часть восстановления и стало положительным наблюдением.

Возможные улучшения включают проверку конфигурации на разных платформах, согласованную обработку неполных данных, уведомления об изменениях и средства управления инцидентом в приложении. Участники связывают это с развитием мобильной надёжности: серверный откат не всегда возвращает работоспособность уже установленному клиенту. Для следующего случая нужны не только исправленный файл, но и понимание потоков данных, доступные диагностические сигналы и заранее предусмотренные действия восстановления.

Выводы

Что стоит унести с собой

  1. 01Проверяйте весь пользовательский путь: падение платежей может начинаться до платёжного экрана.
  2. 02После отката проверяйте CDN и клиентский кэш, а также фактическое поведение приложения.
  3. 03Разбор инцидента должен приводить к улучшению наблюдаемости, проверки данных и возможностей восстановления.

Источники