Как составить план восстановления бизнес-системы после сбоя?

План восстановления бизнес-системы нужен не на случай «когда-нибудь случится катастрофа», а для первого часа после обычного серьёзного сбоя. Он отвечает на простые вопросы: кто принимает решение, что возвращаем раньше всего, откуда берём рабочую копию и как понимаем, что система снова не просто открывается, а действительно работает.
Без такого плана даже хорошая резервная копия мало помогает. В момент сбоя команда тратит время на переписку, спорит о приоритетах и пытается вспомнить пароли или порядок действий. План превращает эту суету в понятную последовательность.
Сначала определить, что именно нужно вернуть
«Восстановить систему» звучит понятно, но для бизнеса это слишком общее поручение. У интернет-магазина важнее всего может быть приём заказов. У производственной компании — выпуск задания в цех. У сервиса — доступ клиентов к своим данным. Почта, отчёты, личный кабинет и интеграции могут иметь разный приоритет.
Поэтому план начинают не с сервера и не с названия облака. Сначала составляют короткий список критичных функций в порядке возврата. Достаточно трёх уровней:
- Нужно вернуть первым. Без этого останавливаются деньги, обязательства перед клиентами или основная работа команды.
- Можно вернуть следом. Работа неприятно замедляется, но компания может прожить несколько часов с временным обходом.
- Подождёт. Удобные отчёты, второстепенные разделы и функции, которые не мешают выполнить главное.
Этот порядок лучше согласовать с руководителем заранее. Техническая команда не должна в разгар сбоя угадывать, что для бизнеса важнее: выгрузить отчёт или принять уже оплаченный заказ.
Иногда в план добавляют два понятных ориентира. Первый — через какое время критичная функция должна снова стать доступна. Второй — какой объём последних данных компания готова потерять в худшем случае. Не обязательно называть это техническими сокращениями и строить сложные таблицы. Главное — проговорить пределы честно. Если заказы можно восстановить только на состояние прошлой ночи, руководитель должен знать это заранее, а не после инцидента.
Назначить человека, который говорит «восстанавливаем»
У плана должен быть владелец решения. Это не обязательно системный администратор. Он может выполнять технические действия, но решение о переключении на резервную среду, остановке интеграции или возврате к старой версии иногда затрагивает деньги и клиентов.
Полезно заранее зафиксировать четыре роли: кто замечает проблему, кто координирует действия, кто выполняет восстановление и кто сообщает пользователям или клиентам. Один человек может совмещать несколько ролей в небольшой компании. Важно, чтобы в критический момент не оказалось, что все ждут согласования от человека, который недоступен.
В этот же список входят контакты: хостинг, разработчик, поставщик учётной системы, владелец домена, ответственный за интеграции. Не «где-то в переписке», а в месте, доступном без самой пострадавшей системы.
Резервная копия — только один из шагов
Копия данных нужна, но сама по себе она не говорит, можно ли быстро вернуться к работе. Для восстановления обычно требуются ещё конфигурация, ключи доступа, версия приложения, схема базы данных, настройки домена и внешние интеграции. Если вернуть только базу, а доступы к очереди сообщений или почте остались в недоступном окружении, процесс всё равно не заработает.
Поэтому рядом с описанием копий стоит хранить ответ на четыре вопроса: где они лежат, как получить к ним доступ, за какой момент времени они отвечают и как проверить, что они читаются. О выборе частоты копирования отдельно написано в материале «Как часто нужно делать резервные копии сайта и бизнес-системы?». Здесь важнее следующий шаг: как из этой копии получить работающий сервис.
Описать первые 60 минут без технического романа
План не обязан быть толстым регламентом. Для первого часа обычно хватает одного понятного листа:
- Зафиксировать симптомы: что не работает, с какого времени, кого касается.
- Остановить действия, которые могут испортить данные ещё сильнее: повторные выгрузки, ручные правки, автоматические обмены.
- Сообщить владельцу решения и назвать следующий срок обновления статуса.
- Проверить, есть ли быстрый безопасный обход: например, приём заявок в резервной форме без ручной подмены данных в трёх местах.
- Выбрать путь: исправление на месте, откат версии, восстановление копии или переключение на резервную среду.
- После каждого крупного действия записать время и результат.
Последний пункт кажется мелочью, но он спасает от хаоса. Когда два человека параллельно что-то проверяют, журнал действий помогает не повторять одно и то же и не потерять момент, после которого ситуация изменилась.
Заранее договориться, что значит «система восстановлена»
Открылась главная страница — ещё не значит, что всё хорошо. Может не отправляться письмо с заказом, не обновляться остаток, не создаваться платёж или не доходить данные из интеграции. У каждой критичной функции нужен короткий контрольный сценарий.
Например: создать тестовую заявку, убедиться, что она попала в нужную очередь, проверить, что ответственный её видит, и после этого удалить тестовые данные корректным способом. Для финансовой системы сценарий может включать ввод документа и проверку проводки. Для SaaS — вход пользователя с обычной ролью и выполнение главного действия.
Такая проверка важнее красивого статуса «зелёный». Она показывает, что восстановился не сервер, а рабочая цепочка. Наблюдаемость тоже стоит продумать заранее: в статье о видимости системы до сбоя разобрано, почему поиск виноватого не заменяет понимания, где именно оборвался путь данных.
Проверить план в спокойный день
Самая опасная фраза в этой теме — «мы знаем, как это делать». Пока команда не попробовала восстановить тестовую копию или пройти сценарий переключения, это предположение. Во время реального инцидента всегда находятся мелочи: доступ выдан старому сотруднику, инструкция ссылается на закрытый сервис, копия создаётся, но не разворачивается, а нужный домен не учтён.
Тест не обязан выключать рабочую систему. Можно развернуть копию в изолированной среде, проверить несколько главных сценариев и замерить реальное время. После этого план стоит поправить простым языком: убрать шаги, которые никто не понял, обновить контакты, добавить недостающий доступ.
План полезно пересматривать после заметного изменения: переезда в другое окружение, новой интеграции, смены подрядчика, появления критичного личного кабинета или изменения ролей доступа. Не нужно переписывать его ради каждой кнопки. Достаточно спросить: изменился ли путь, по которому мы возвращаем главную функцию к работе? Если да, план тоже должен измениться.
Что часто ломает восстановление
Обычно проблема не в редкой технологии, а в организационных хвостах. Копии есть только в том же аккаунте, который стал недоступен. Пароль знает один человек. Интеграция начинает отправлять старые данные повторно после отката. Команда возвращает приложение, но не проверяет права пользователей. Клиентам сообщают слишком поздно, и поддержка тонет в одинаковых вопросах.
Часть этих рисков связана с доступами. Облако не делает их менее важными: оно лишь меняет место, где нужно ими управлять. Поэтому полезно сверить план с принципами из статьи «Облако не отменяет ответственность за данные и доступы».
Короткий чек-лист
- Есть список критичных функций в порядке возврата.
- Названы координатор, технический исполнитель и человек, который принимает решение.
- Контакты и доступы хранятся вне единственной пострадавшей системы.
- Для каждой копии понятно, как её развернуть и проверить.
- Есть контрольный сценарий работы после восстановления.
- Команда хотя бы раз проверяла план в безопасной среде.
Связанные вопросы
- Как часто нужно проверять, что резервные копии восстанавливаются?
- Что делать с заказами и платежами, которые появились во время сбоя?
- Нужна ли отдельная резервная среда небольшой компании?
- Кто должен сообщать клиентам о недоступности сервиса?
Хороший план восстановления не обещает, что сбоев не будет. Он делает момент сбоя управляемым: команда знает, что важнее вернуть первым, кто принимает решение и по каким признакам можно честно сказать, что бизнес снова работает.
Обсудим?