Розробка документації з процедур Disaster Recovery

Збій в інфраструктурі коштує найдорожче, коли ніхто не знає, у якому порядку піднімати сервіси. Ми розробляємо документацію з процедур відновлення під ключ: описуємо ролі, кроки та точки перевірки, щоб команда діяла без імпровізації. Готовий регламент скорочує час відновлення в рази та знімає залежність від окремих фахівців.
Часті запитання

Розробка DR-документації: де інфраструктура втрачає години

Типова відмова виглядає однаково: сервіс перезапущено, а дані та зв'язки між системами відновлюють вручну — з пам'яті, зі старого листування й нотаток. Порядок дій тримається на тому, що хтось із інженерів ще пам'ятає, що за чим піднімати.

Простій сервісу розтягується на години й повторюється за кожної аварії. Розробка DR документації закриває саме цю прогалину.

Час втрачається на стиках: поки піднімається база, застосунок уже чекає з'єднання, черга накопичує повідомлення, зовнішні інтеграції перестають відповідати. Кожну залежність перевіряють вручну й заново — у момент, коли думати ніколи.

Ніхто не знає заздалегідь, у якому порядку піднімати компоненти й який із них вважати точкою відмови.

Документація переводить це в перевірювану послідовність. Цільовий час відновлення та допустима втрата даних фіксуються до аварії, а не обговорюються під час дзвінка в розпал інциденту — це ті самі RTO і RPO, на яких будується ISO 22301.

Для кожного сервісу визначається власник, склад залежностей і критерій, за яким відновлення вважають завершеним.

Регламент відновлення — не інструкція на сотню сторінок, а короткий документ із командами, ролями й точками ухвалення рішень: коли перемикаємося на резервний майданчик, хто дає команду, як відкочуємося назад.

Його перевіряють на навчаннях і правлять за підсумками — інакше він застаріє після першої ж зміни в інфраструктурі.

Нижче розбираємо, що входить у таку документацію і як її перевіряють заздалегідь — до аварії, а не під час.

Що дає регламент відновлення: ефект у метриках

Цільовий час відновлення та глибина відкату даних

Регламент задає для кожного сервісу дві вимірювані величини: цільовий час відновлення та глибину відкату даних. Перша відповідає на питання, за скільки сервіс зобов'язаний повернутися в роботу, друга — скільки даних допустимо втратити.

Без цих чисел «ми швидко все піднімемо» залишається обіцянкою, а не зобов'язанням: навчання раз на квартал дають фактичний час, розрив із метою стає видимим, а сам простій скорочується в рази щодо сценарію «піднімаємо з пам'яті».

За основу цілей беремо галузеву рамку NIST з планування безперервності, але значення рахуємо під ваш контур: платіжний контур і вхід до особистого кабінету отримують жорсткі цілі, аналітика й звіти — м'які.

Із цілей далі виводиться все інше: частота копій, схема та строк зберігання, порядок перемикання трафіку.

Частка аварій, які закриваються за документом, а не за дзвінком черговому

Поки порядок відновлення живе в голові одного інженера, кожна аварія починається з пошуку цього інженера — і весь цей час простій триває.

Класи відмов (втрата вузла, псування даних, відмова зони доступності, невдалий реліз) описуються окремо: у кожного свій набір кроків і своя точка входу в документ. Черговий відкриває потрібний розділ і йде за ним, не збираючи картину з листування.

Ефект видно в метриках: частка аварій, закритих за регламентом, зростає, а кількість випадків, де потрібен «той самий» фахівець, падає. Готовність сервісу та вартість простою перестають бути випадковою величиною — їх рахують заздалегідь і перевіряють на навчаннях.

Формати опису процедур відновлення: що вибрати

Формат документації диктує, що станеться в момент аварії: відновлення за ручним регламентом або запуск автоматизованого сценарію. Ми обираємо формат за двома критеріями — частота змін в інфраструктурі та допустима ціна простою.

Ручний регламент, автоматизований сценарій і гібрид

Варіант Коли підходить Обмеження
Ручний регламент Рідкі зміни, мало сервісів, кроки потребують рішення людини Залежить від конкретного чергового, час відновлення зростає під час ротації
Автоматизований сценарій Часті релізи, багато однотипних сервісів Потребує супроводу: під час дрейфу конфігурації мовчки ламається
Гібрид Критичне ядро автоматизуємо, решту — за кроками Дорожче в проєктуванні, потрібна синхронізація двох контурів

Гібридний підхід знімає основну суперечність: сценарій відновлення виконує рутинні кроки, а інженер ухвалює рішення в точках розгалуження. Підтримуваність документа при цьому вища, ніж у чистого регламенту, бо він перевіряється прогоном, а не читанням.

Коли документ потрібен лише для проходження зовнішньої перевірки

Якщо відновлення вже відпрацьовано скриптами, а документація потрібна для перевірки вимог, вона все одно має збігатися з реальністю — інакше перша ж навчальна тривога її спростує.

Такий документ ми збираємо з фактичних конфігурацій і додаємо розділ із розбіжностями: що автоматизовано, що робиться руками й чому.

Етапи впровадження: від аудиту відмовостійкості до передачі

Роботу ведемо від карти відмов до документа, а не навпаки: спочатку з'ясовуємо, що саме і в якій послідовності відновлювати, потім фіксуємо це в процедурах, які можна виконати вночі без автора системи.

Аудит відмовостійкості та інвентаризація сервісів

  1. Інвентаризація сервісів. Збираємо повний перелік: що запущено, хто власник, наскільки сервіс критичний для виручки й які в нього зовнішні залежності. Потрібні доступи до облікових систем, моніторингу та відповідальні з боку замовника за кожним напрямом.
  2. Аудит відмовостійкості. Розбираємо точки відмови: єдиний вузол бази, спільний том зберігання, ручні кроки в розгортанні, відсутність копій конфігурацій. За кожним пунктом оцінюємо ймовірність і наслідки.
  3. Схема залежностей. Будуємо карту «сервіс — база — черга — зовнішній постачальник» із порядком запуску. Вона одразу показує, що саме впаде каскадом і що відновлювати першим.
  4. Цільові показники. Для кожного сервісу узгоджуємо допустимий час простою та допустимий обсяг втрачених даних. Замовник підтверджує, де достатньо кількох годин, а де рахунок іде на хвилини.
  5. Розробка процедур. Пишемо покрокові сценарії під конкретні відмови: перевірки, команди, очікуваний результат на кожному кроці, критерій зупинки в разі розбіжності.

Перевірка на навчаннях і передача власникам

  • Навчання з відновлення. Прогоняємо сценарії на копії середовища, заміряємо фактичний час і фіксуємо розбіжності з цільовими показниками. Процедури після прогону уточнюємо — зазвичай виявляються кроки, які тримаються на людині, а не на регламенті.
  • Передача документації. Проводимо навчання власників сервісів, віддаємо комплект в актуальному вигляді й фіксуємо регламент перегляду: у разі зміни архітектури документ оновлюється разом із нею, а не після наступної аварії.

Від замовника на всіх етапах потрібні доступи, вікно на навчання й один відповідальний, який ухвалює рішення щодо пріоритетів сервісів.

Комплект документів і схем, який залишається в команди

Комплект зібрано так, щоб новий інженер прийняв чергування й провів відновлення без дзвінків автору. Усе, що зазвичай живе в листуванні та пам'яті однієї людини, переноситься в документи, схеми й записи в репозиторії.

Схеми потоків даних і точок відмови

  • Схема потоків даних: від вхідного трафіку до сховища та резервних копій, із позначеною межею відмови між зонами.
  • Перелік точок відмови з оцінкою наслідків — що деградує першим, що відмовляє повністю, який вузол продубльовано.
  • Карта залежностей між сервісами та зовнішніми постачальниками: видно, що лагодити в першій черзі, а що може зачекати.
  • Сценарії відновлення: повна відмова майданчика, втрата даних, недоступність окремого сервісу — з порядком дій для кожного.
  • Інструкція для чергового: покрокова послідовність, критерії передачі старшому інженеру та точки, де потрібне рішення власника.

Ролі, права та порядок погодження змін

  • Матриця доступів: хто з інженерів, постачальників і підрядників що бачить і що може змінювати, включно з аварійними обліковими записами.
  • Порядок погодження змін — від заявки до викочування, із зазначенням, які правки конфігурації потребують перевірки другим інженером.
  • Журнал змін конфігурації: що змінювалося, ким, навіщо й як відкотити, щоб відновлення спиралося на факти, а не на здогади.

За цими матеріалами новий інженер входить у контур за лічені дні, а не тижні розпитувань.

Кейс: скоротили час відновлення після збою в рази

Що було до: аварії, ручні обходи та залежності в голові адміністратора

Про збій дізнавалися від користувачів, а не від моніторингу: поки йшли скарги, частина запитів губилася.

Відновлення йшло з пам'яті — у кожного інженера був свій порядок підняття сервісів, частина кроків жила в особистих нотатках, а знання про момент перемикання основної бази трималося в одного адміністратора.

Повторювані збої одного класу розбиралися заново: після інциденту залишався набір здогадів замість оновленої процедури.

Домовитися про строки простою було нічим: час відновлення не вимірювався, суміжні команди не знали, коли їм підключатися.

Що стало після: передбачуваний порядок дій і підтверджені перевірками строки

Ми описали й погодили процедури відновлення: ролі чергових, точки ухвалення рішень, порядок перемикання бази на PostgreSQL, критерії зупинки та відкату.

Регламент перевіряється навчаннями за розкладом: перемикання на резервний контур виконується на живому контурі, результати фіксуються й уточнюються.

Що вимірюємо До Після
Виявлення збою за скаргами, десятки хвилин до 2 хвилин, моніторингом
Час відновлення 4-6 годин 35-50 хвилин
Кроки за регламентом менше половини близько 95%
Повторні збої того ж класу регулярно одиничні

Простій став передбачуваним: строки відновлення підтверджені навчаннями, а не оцінками, і повторювані збої перестали бути нормою — регламент оновлюється після кожного розбору.

Чим план відновлення відрізняється від DR-регламенту?

План аварійного відновлення відповідає на питання «що піднімаємо і в якому порядку», а не «хто робить це руками».

У ньому зафіксовано перелік систем, порядок відновлення з урахуванням залежностей між сервісами та цільові показники: допустимий час простою й допустимий обсяг втрати даних. Там же — критерії запуску: за яких ознак аварії план узагалі вводиться в дію.

Регламент дій описує виконання: зони відповідальності за кожною системою, склад аварійної команди, порядок ескалації та те, яким доступом користується кожен учасник. Окремим пунктом іде аварійний доступ в обхід штатної схеми — умови видачі та обов'язковий відклик після інциденту.

Ключова частина — точки ухвалення рішень. Для кожного кроку зазначено, що вважається успішною перевіркою, хто її підтверджує і що робити, якщо крок не спрацював: скільки спроб, коли переходити до резервного варіанта, у який момент піднімати копію на другому майданчику. Без цього регламент залишається переліком серверів, а не порядком відновлення.

Обидва документи перевіряються на навчаннях: план уточнює пріоритети, регламент — ролі та доступи за фактом спроб. Структуру ми вибудовуємо за рамками ISO 22301, а розбіжності між документом і реальністю фіксуємо після кожного прогону.

Технічні сумніви: що уточнюють перед стартом робіт

Перед стартом майже завжди спливають ті самі сумніви — і вони не про строки, а про те, чи виживе документ у реальній інфраструктурі. Зібрали питання, які ставлять найчастіше, і наші відповіді по суті.

У нас частина контурів на ручному управлінні — документ не працюватиме?

Змішана інфраструктура — норма, а не виняток. Для таких ділянок описуємо не лише автоматичні кроки, а й ручні операції: хто їх виконує, у якій послідовності, що перевіряє після. Окремо фіксуємо межі, де автоматика закінчується і потрібна людина.

Ми не готові розкривати схеми мережі та доступи

Працюємо за угодою про конфіденційність, а топологію описуємо в знеособленому вигляді на стороні замовника. На виході ви отримуєте готові розділи й шаблони, придатні для тиражування всередині вашого контуру.

Документ застаріє, якщо команда зміниться

Тому пишемо регламент, а не переказ поточних налаштувань: процедури без імен, із ролями та зонами відповідальності. Новий інженер відновлює сервіс за інструкцією, не розшукуючи автора попередньої конфігурації.

Що відбувається з документацією після здачі?

Передаємо версіонований набір із чек-листом актуалізації та тригерами перегляду — після змін в інфраструктурі, навчань або зміни відповідального. Окремо показуємо вашій команді, як підтримувати документ власними силами.

Решта сумнівів зазвичай стосуються деталей конкретного контуру — їх знімаємо на етапі обговорення задачі.

Обговоримо задачу: що підготувати до розмови

Розмова про документацію з аварійного відновлення виходить предметною, коли на столі є факти про інфраструктуру, а не загальні побажання.

Готувати повне технічне завдання заздалегідь не потрібно — достатньо переліку сервісів і вашого власного уявлення про допустимий простій і втрати даних.

  • Постановка задачі. Що саме турбує: вимоги регулятора, аудит, нещодавній збій або план на майбутнє — від цього залежить глибина й форма документів.
  • Перелік критичних сервісів. Що піднімаємо першим, а що може зачекати добу. Корисно позначити залежності: сховище, черги, зовнішні інтеграції — без них сервіс формально працює, але користі не приносить.
  • Історія аварій. Що вже ламалося, скільки часу йшло на відновлення, де були ручні кроки, де не вистачало прав або інструкцій.
  • Поточні резервні копії. Що і як часто копіюється, де зберігається, як давно відновлення перевіряли наживо, а не за звітом.
  • Очікування щодо строків відновлення. Для кожного критичного сервісу — допустимий час простою та допустимий обсяг втрачених даних. Ці дві величини задають усю логіку резервування й порядок дій.
  • Обмеження та доступи. Хто відповідає за інфраструктуру, які майданчики задіяні, чи є вимоги тримати дані всередині контуру.
  • План робіт і приймання. Як ви хочете перевіряти готовність: навчаннями, розбором сценаріїв або формальним документом із підписами.

Далі ми повернемося з оцінкою та планом робіт: що описуємо, у якому порядку, які перевірки потрібні на живій інфраструктурі, а що закривається регламентом.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142