Как один флаг обрушил бизнес-процесс
На фоне массовых инфраструктурных проблем в крупных компаниях вспомнил свой самый крупный технический косяк. Нет, к счастью, сам я не ронял инфру. Но однажды случайно убил оплату на проде.
В 2018-м я ещё был руководителем группы фронтенда, и в одной из команд ребята крайне хотели быть модными и следовать трендам, а особенно горели идеей микрофронтов. Но так как тогда ещё не было ни Webpack Module Federation, ни прочих современных приблуд, мы с ребятами запилили простую кустарную реализацию: каждый виджет собирался в отдельной репе, а потом на лету подгружался в общий layout.
Параллельно внедрили централизованную систему фича-флагов, чтобы управлять тем, какие микрофронты и кому показываются. Всё шло отлично, пока один из сервисов не остался на старой версии SDK для флагов. Мы включили эксперимент на 5% пользователей, и флаг рухнул в undefined. Браузер не смог получить конфигурацию и просто отказался рендерить блок с оплатой.
Без единой ошибки. Просто нет кнопки «Оплатить» на проде. Мониторинг был настроен на падения и ошибки, а не на отсутствие DOM-элемента. Нам повезло узнать быстро только потому, что менеджер проекта случайно зашёл под своим аккаунтом и увидел пустоту вместо кнопки.
Хотфикс сделали за 40 минут, откатили на старую версию, а после я объяснялся с бизнесом, хотя шутка про «оптимизацию конверсии до нуля» запомнилась и всё ещё кажется смешной. Потери в деньгах были копеечные, но урок остался на всю жизнь. Теперь каждый флаг я проверяю так, как будто лично заполняю анкету на подачу Шенгена.
А вообще это классика жанра. Вон Глеб Михеев в своё время на полном серьёзе случайно снёс базу на проде. И выжил. И даже в подкастах об этом рассказывал. Так что да, факапы случаются, и от них, если повезёт, остаются не штрафы, а опыт.
А у вас были истории, после которых хотелось на неделю спрятаться под стол, но потом вы всё же выбирались?
· 31.07.2025
Была. 10 дней без выходных работал, чтобы подготовить продукт к презентации, и проспал презентацию. Хорошо, что не я её вёл, но моя поддержка нужна была коллегам. До сих пор вспоминаю со стыдом.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён