Что делать если все сломалось?
К предыдущему посту было написано достаточно много полезных комментариев и один из них представляет собой очень достойный чек-лист от Андрея. Вся годнота внутри 👇
Часть 1. Организационная.
1. Без паники и суеты.
Потому что Все уже упало и главное не сделать хуже
Сообщи начальнику: "Упал прод. Разбираюсь в проблеме. Займет Х мин"
Потому что в компании не только ты и прод, но ещё:
- Начальник к которому скоро придут с вопросом: "Какого ... не работает?!"
 - Саппорт у которого оборвется телефон
 - Менеджеры по работе с клиентами, которых тоже достанут вопросом: "Какого ... ?! + До вашего суппорта не дозвониться"
 
Про указание времени на починку:
- "Наверху" обязательно назовут какую-то цифру из головы, поэтому лучше, когда эта информация идёт от тог, кто хоть что-то понимает в системе.
 - Если со временем ошибся - ничего страшного, потом сообщишь, что займет больше времени.
 - С опытом придет понимание сколько времени требуется на устранение проблем.
 
2. Сообщи коллегам в рабочий чат
Потому что самое плохое, когда 2 человека что-то меняют на проде не сговариваясь(да ещё и руками, потому что надо быстро)
- Один откатывает изменения
 - Другой смотрит половина CICD не отработала и катит обратно
 
3. Переходи к решению проблемы
Часть 2. Техническая.
Открываем текстовый редактор
Записываем ключевую информацию по проблеме: время, куски логов, какими командами дебажили, ссылки на pipeline и т.д.
Потому что потом надо будет разобраться почему так произошло, а из-за стресса ты забудешь половину действий и будешь путаться в деталях
1. Пойми проблему. Воспроизведи проблему. Локализуй проблему.
С опытом это делаешь на автомате, но для джунов надо объяснить на примерах:
- 
Если сайт упал - это не значит, что надо сразу надо бежать перезагружать nginx, даже если в предыдущие 100 раз это было так.
 - 
Надо сначала проверит открывается ли сайт от тебя? А с сервера?
 - 
Может проблема на компе сообщившего о проблеме?
 - 
Может недоступен один файл на сайте?
 - 
Может проблема в только в московском филиале, а в Новосибирске работает?
 - 
Может проблема в интернете, DNS или просто пользователь забыл включить VPN для доступа к корпоративной сети? И т.д.
 
2. Собери информацию.
Помни, что у тебя открыт твой любимый тестовый редактор. Внеси туда что и как проверяешь.
3. Сформируй гипотезу.
Если ничего не понятно:
- Загляни в корпоративную wiki(или в git), потому что только там описано, как система работает.
 - Посмотри документацию разработчиков. Например: тикеты на GitHub, если это что-то open source.
 - Гугли.
 - Спрашивай у коллег в общем чате. Все заинтересованы быстрее починить, потому что от этого зависит доход компании и ваша премия.
 - Подумай про восстановление из бэкапа.
 - Если зашёл в тупик собери всех в видео чате, пошарь экран.
 
4. Проверь свою гипотезу.
Не забудь записать результаты.
Потому что потом пригодится на "разборе полетов".
5. Повторяй шаги 3 и 4 пока не решишь проблему.
6. Убедись, что проблема решена.
Свяжись с сообщивщем о проблеме. Убедись, что у него тоже проблема решена.
Часть 3. Разбор полетов.
Если упал прод, то тебе зададут эти вопросы(или часть из них). Лучше подготовить ответы заранее.
- 
Не переходи на личности. Обсуждай только техническую часть проблемы.
 - 
Где произошла проблема?
 - 
Когда возникла проблема?
- Сколько времени прошло на определение проблемы?
 - Сколько времени прошло на локализацию проблемы?
 - Когда проблему передали инженеру?
 
 - 
Отработал ли мониторинг?
 - 
Когда исправили?
 - 
Что произошло?
 - 
Как исправили?
 - 
Можно ли было восстановить из бэкапа?
- Почему не восстановили из бэкапа?
 
 - 
Причина аварии?
 - 
Что было сделано неправильно?
 - 
Последствия отказа?
 - 
Количество жалоб абонентов?
 - 
Что надо сделать, чтобы авария не повторилась?
 - 
Что надо сделать для уменьшения последствий аналогичных отказов?
 - 
Составь план по устранению последствий и причин аварии
- Укажи ответственных за каждый пункт