постмортем

Пока мы спали, фейсбук с инстаграмом заболели и до сих пор не до конца здоровы. Последнее обновление статуса от фб - 12 часов назад «разбираемся, до сих пор проблемы».

Жалко, что искусство менеджить кризисные ситуации и искусство постмортема так не развиты. Недавно чуть ломался Gmail (очень редко бывает) и думаю, что мы никогда не узнаем, что же там произошло.

Вот пример идеального поведения в похожей ситуации от Basecamp и DHH.

Лично я люблю разруливать кризисные ситуации. Думаю, что это чувство, которое есть у гонщиков на высокой скорости и у спортсменов. Когда высоки ставки, высокие риски и благодаря профессионализму и удаче получается сделать красиво. Или удача отвернулась в этот раз, но ты сделал все, что мог и это все равно красиво.

Чтобы не создать ложное впечатление: лучше строить стабильные системы и процессы, чем постоянно тушить пожары. Если ваши программисты каждую неделю героически чинят сайт - возможно, стоит разобраться с настоящей проблемой, а не ставить заплатки.

Чего делать точно не стоит — это пытаться выдать аварию за штатную профилактику.

Так, на прошлой господрядчик пытался скрыть аварию в государственной системе, на которую завязана вся фарм отрасль России.

Зрелость инженерной организации проявляется не только в том, как редко случаются аварии — они бывают у всех. Зрелость в том, КАК компания реагирует на аварии. Но не буду повторятся, про это я уже писал подробно ранее: жемчужина от cloudflare и пример stackoverflow.

Гугл опубликовал публичный постмортем про воскресную аварию. Текст длинный, но суть простая: у них ломается сеть, если специальная программа не подвозит правильную конфигурацию сети (BGP) каждые пару минут. Несколько копий этой программы запущены на отдельных серверах в каждом дата-центре (отказоустойчивость!). Эти серверы включает-выключает другая программа управления конфигурацией. Во второй программе была ошибка, из-за которой она выключила все копии первой программы. Через пару минут после этого протухли BGP-анонсы и развалилась сеть.

Из-за сломанной сети были недоступны внутренние инструменты, которыми пользуются сисадмины при исправлении проблем. Гугл говорит, что у них есть специальные бункеры с какими-то особыми доступами, но пока админы туда доехали — прошло дополнительное время. Самое главное, что система конфигурации потеряла своё внутреннее состояние и админам пришлось заново настраивать всё руками — это заняло очень много времени.

Чинят тем, что 1) запретят подсистеме выключения задач тушить сразу несколько серваков 2) система не будут терять состояние при потушенных серверах (не придется настраивать её заново руками) 3) сеть будет дольше работать без внешней поддержки программой управления (самое очевидное решение).

Не постесняюсь ещё раз напомнить, что бэкапы нужно держать у второго провайдера и регулярно тестировать восстановление.