Из новости не ясно как связан техдолг и сисадмин ломающий прод. Скорее возникают вопросы к организации процессов. Почему всего один человек? Почему изменения сделаны на продакшене, а не протестированы в промежуточной среде? Кто-то торопит инженеров с выпуском фич? А как же автотесты и QA? Техдолг может серьёзно тормозить развитие проекта и влиять на настроение разрабов, но кривой конфиг вряд ли написали при прошлых директорах.
Я в прошлом году поломал прод достаточно крупного инфраструктурного сервиса, выполняя первую задачу там на аутстаффе. Выкатывал хорошо оттестированные простые изменения, с тестами, ревью и прочим. Казалось, ну никак ничего поломать не могут (это был первый самый простой шаг). Деплоил через штатную тулзу автоматического постепенного деплоя, метрики, все как положено всеми практиками.
Оказалось, что код деплоится не атомарно. Т.е. когда 2 модуля A и B деплоятся как единый пакет, но на сервере модуль A может дернуть старую версию B, т.к. они подгружаются с файловой системы в момент первого применения. И всё это всплывает только минут через 10 после успешного деплоя, когда под локальным пиком нагрузки просыпаются спавшие ранее воркеры, да ещё портят за собой глобальный кеш.
Из новости не ясно как связан техдолг и сисадмин ломающий прод. Скорее возникают вопросы к организации процессов. Почему всего один человек? Почему изменения сделаны на продакшене, а не протестированы в промежуточной среде? Кто-то торопит инженеров с выпуском фич? А как же автотесты и QA?
Техдолг может серьёзно тормозить развитие проекта и влиять на настроение разрабов, но кривой конфиг вряд ли написали при прошлых директорах.
Я в прошлом году поломал прод достаточно крупного инфраструктурного сервиса, выполняя первую задачу там на аутстаффе. Выкатывал хорошо оттестированные простые изменения, с тестами, ревью и прочим. Казалось, ну никак ничего поломать не могут (это был первый самый простой шаг). Деплоил через штатную тулзу автоматического постепенного деплоя, метрики, все как положено всеми практиками.
Оказалось, что код деплоится не атомарно. Т.е. когда 2 модуля A и B деплоятся как единый пакет, но на сервере модуль A может дернуть старую версию B, т.к. они подгружаются с файловой системы в момент первого применения. И всё это всплывает только минут через 10 после успешного деплоя, когда под локальным пиком нагрузки просыпаются спавшие ранее воркеры, да ещё портят за собой глобальный кеш.
Да ладно. Прошлый раз вся инфраструктура Фейсбук упала и заблокировалась от лишней точки в конфиге. Бывает.