tgoop.com/tarmolov_work/237
Last Update:
Давненько не было баек. Пора это исправить! Расскажу вам, как я сломал Яндекс Карты :)
Эта история произошла, когда я стал частью команды, работающей над веб-версией Яндекс Карт, и мне доверили мой первый большой проект. Задача стояла амбициозная: добавить возможность построения маршрутов не только на автомобилях, но и на общественном транспорте.
Скажу честно, поначалу я создал нечто вроде "фабрики багов". Но спасибо нашей команде тестировщиков — пользователи об этом даже не догадывались, ведь все баги были отловлены в тестовом окружении.
Вот мы и доходим до выпуска в продакшен. Заливаю debian-пакет на прод, открываю maps.yandex.ru, а там — сюрприз: только шапка, пустота вокруг и карты как не бывало.
Паника. Откатываю, но никакого толку. Тут уже подключается мой руководитель, и вместе мы начинаем копаться в логах серверов, чтобы понять, что происходит.
Оказалось, что скрипты postinstal debian-пакетов изрядно нам подпортили жизнь. Разработали фикс, запустили его на весь кластер, и проблема ушла.
Фууух, можно выдохнуть и на свежую голову подумать, как предотвратить такое в будущем. Ведь в тестовом окружении всё было окей, а проблема всплыла только в продакшене.
Решили, что нам нужен промежуточный этап — вот и появилось окружение prestable. Сначала выкатываем сервис туда, смотрим, как работает сервис, и если всё гладко, то потом выкладываем в продакшен. И даже если что-то пойдет не так в prestable, пострадает лишь часть пользователей, а не все.
Забавно то, что ни один пользователь не написал в поддержку о сбое. И в информационном поле тишина. Может выбрал идеальное время для сбоя? Или всем показалось, что это у них временные проблемы с интернетом.
Что ни говори, а опыт оказался бесценным. И созданный prestable не раз выручал нас, спасая пользователей от неудачных релизов. Как говорится, «кто продакшен не клал, тот настоящей жизни не видал». Ошибки — часть обучения, не так ли? 🙂
#байки #инциденты
BY Тармолов про работу
Share with your friend now:
tgoop.com/tarmolov_work/237