Firefly спонсировал этот пост.
Цели времени восстановления (RTO) везде: в отчетах по соблюдению, оценки рисков, соглашения об уровне услуг поставщика (SLA) и планы аварийного восстановления. Они обещают возвращение к нормальному нормальности в течение всего часа или минуты — какой бы целевой целью совершила организация. На бумаге эти сроки звучат разумно. На практике они часто в лучшем случае стремительны, а в худшем — опасно вводить в заблуждение.
RTOS — это больше, чем просто показатели; Это обещания, которые пересекаются напрямую с надежностью, доверием и влиянием клиента. Тем не менее, большинство команд летают слепы, когда дело доходит до проверки того, можно ли действительно выполнять эти обещания.
Поскольку организации модернизируют свою инфраструктуру с помощью Kubernetes, без серверных компонентов, мультикологий архитектуры и инфраструктуры в качестве кода (IAC), сложность восстановления полной системной функции увеличивается в геометрической прогрессии. Конфигурация часто фрагментируется по нескольким слоям — Terraform, Helem Hards, Kubernetes проявляется и встроенные настройки облачной консоли — что затрудняет повторную картину во время отключения.
В то время как команды могут проверить изолированные извлечения, лишь немногие имитируют восстановление полного стека в производственной шкале. Результат? RTO, которые хорошо выглядят в аудитах, но рухнут под реальным давлением.
Почему RTO терпят неудачу в сложных системах
Традиционно, RTO были определены во время настольных упражнений или упражнений на аварийное восстановление (DR), сфокусированные на восстановлении небольшого набора основных систем, таких как базы данных, файловые серверы и виртуальные машины (VMS). Сегодняшняя среда гораздо более взаимосвязана. Функциональная база данных не означает, что ваше программное обеспечение в качестве услуги (SAAS) поставщика идентификации. Микросервис перераспределяется не означает, что его конфигурационные карты или секреты были правильно восстановлены. Легко восстановить кусочки. Трудно восстановить все, что имеет значение.
Одним из наиболее распространенных источников сбоя является предположение, что облачная инфраструктура может быть быстро повторно регидратироваться, используя «только данные». В действительности, восстановление требует полного стека: вычислитель, сеть, политики доступа, DNS, правила автоматического мастерства, стек наблюдения и многое другое. Если один слой отстает — или полностью отсутствует — все ваше обязательство RTO становится бессмысленным.
Скрытые пробелы в DR Planning
От разговора с десятками лидеров инженерии платформ и DevOps появилась общая модель: планы DR часто останавливаются на резервном уровне. Команды предполагают, что они могут вытащить снимки из S3 или восстановить базы данных из резервного инструмента. То, что они не учитывают, — это время реконфигурации, необходимое для сшивания всего вместе.
Даже команды с отличным резервным покрытием часто отсутствуют критические компоненты:
- Kubernetes Рабочие нагрузки, которые зависят от эфемерных конфигураций или секретов.
- Облачные функции, связанные с политикой идентификации и управления идентификацией и доступом, связанными с конкретными регионами (IAM).
- Шаблоны IAC, которые никогда не обновлялись после развертывания.
- Услуги, которые полагаются на изменяемые облачные компоненты или плагины SaaS.
Без непрерывной проверки, сквозных рабочих процессов восстановления, теоретические RTO быстро распутывают. Это было ясно ясно в нескольких реальных инцидентах.
Когда часы начинают тикать: реальные сбои RTO
Анонимный случай от компании Fintech иллюстрирует опасность самоуверенности. Его план DR заявил двухчасовой RTO в разных регионах. Но когда неправильная конфигурация IAM привела к каскадному отключению производства, команда быстро обнаружила, что, хотя резервные копии данных были нетронутыми, IAC не отражает текущее состояние производства. Повторное применение старых шаблонов внесло несоответствия, что привело к повторным откатам.
Фактическое время восстановления? Чуть более 11 часов. (И это на самом деле положительный результат; были гораздо худшие ужасные истории с более широким воздействием.)
Другой пример из медиа -компании включал частичное региональное переключение. Его кластер Kubernetes был резервирован, но восстановление через облака выявило серьезный дрейф между постановкой и диаграммами Prod Helm. Специфичная для окружающей среды логика была жестко кодировала, разбивая портативность. Обещанный часовой RTO стал двухдневной схваткой, что повредило SLA и клиентское доверие.
Сложность как убийца RTO
Что общего у этих инцидентов?
Сложность инфраструктуры, а не потеря данных, была основным фактором, способствующим длительным отключениям. И эта сложность часто скрывается на виду:
- Десятки git Repos с фрагментами IAC и дрейфом на конфигурации.
- Настройки, специфичные для региона или учетная запись, которые не переводят в разных средах.
- Основанные на событиях системы с непрозрачными зависимостями и повторным поведением.
- Команды платформы, использующие постановку, которые не отражают реальную топологию производства.
Чем более фрагментирована и сложена ваша система, тем труднее восстановить ее под давлением, особенно если ваш процесс DR запускается вручную или частично документирован.
Кодификация и непрерывно тестирование восстановления
Так какой путь вперед?
RTO должны быть пересмотрены через призму операционной реальности и подтверждены через регулярные, полноценные репетиции DR. Здесь входят IAC и автоматизация.
Кодифицируя все слои вашей инфраструктуры — не только вычислить и хранить, но и я, сеть, наблюдение и внешние зависимости — вы получаете возможность версировать, проверять и репетировать свои планы восстановления. Такие инструменты, как Terraform, Helm, Opentofu и Crossplane, позволяют вам создавать неподвижные чертежи вашей инфраструктуры, которые могут автоматически перераспределить в сценариях стихийных бедствий.
Но одной кодификации недостаточно. Непрерывное тестирование имеет решающее значение. Подобно тому, как конвейеры CI/CD подтверждают изменения применения, DR -валидационные трубопроводы должны имитировать сценарии аварийного перерыва, проверять восстановление зависимости и отслеживать реальное время для восстановления (MTTR) с течением времени. Это перемещает DR из ежегодного флажона к живой, дышащей эксплуатационной функции.
Измерение разрыва: настоящий MTTR
Пришло время прекратить полагаться на желательные RTO и вместо этого измерить фактический MTTR. Это то, что важно, когда что -то идет не так, указывая на то, сколько времени на самом деле требуется, чтобы перейти от инцидента к разрешению. В отличие от RTO, которые часто устанавливаются произвольно, MTTR является осязаемым, отслеживаемым показателем устойчивости.
И, как и любой показатель, MTTR улучшается только с практикой. Команды платформы, которые проводят частые упражнения для восстановления и инвестируют в кодификацию восстановления полного стека, постоянно снижают свой MTTR с течением времени. Они укрепляют уверенность, получают видимость в скрытых зависимостях и снижают фактор ошибки человеческой ошибки во время сценариев высокого стресса.
Практические рекомендации по сокращению разрыва RTO
Если вы хотите выровнять свою осадку на аварийное восстановление с реальностью, вот с чего начать:
- Проверить свой RTO: Взгляните на ваш нынешний RTO. Они основаны на подтвержденных упражнениях по восстановлению или они желают числа в электронной таблице?
- Зависимости карты: Инвентаризация Все услуги, хранилища данных, конфигурации и секреты, связанные с критическими рабочими процессами. Если это не кодифицировано, предположим, что ему не хватает.
- Кодифицировать полный стек: Выходите за рамки резервного копирования данных, чтобы резервное копирование состояния окружающей среды. Используйте IAC, чтобы обеспечить повторную портативную реставрацию инфраструктуры.
- Интегрировать тестирование в CI/CD: Автоматизируют упражнения по восстановлению, аварийные симуляции и пост-инциденты. Отслеживайте реальные MTTR и эталонный прогресс с течением времени.
- Поезд для хаоса: Аварийное восстановление — это частично процесс, часть мышечной памяти. Пропустить тренировочные дни, имитировать реальные неудачи и обеспечить, чтобы каждая команда знала свою роль.
От желаемого мышления до оперативной готовности
Секунды простоя могут стоить миллионы, и притворяться, что ваши системы могут восстановиться через два часа, когда они не могут, — это больше, чем просто плохое планирование. Это также крупный бизнес -риск. Сегодня кодификация вашей инфраструктуры, постоянно тестирование восстановления и заземление ваших целей в действительности больше не является обязательным.
Разрыв между RTO и реальностью является фиксированным, но только если мы перестануте обманывать себя тем, как на самом деле выглядит выздоровление. Это означает, что выходит за рамки только резервных копий данных для обеспечения полного охвата каждого критического уровня: инфраструктура, конфигурации, элементы управления доступа и зависимости.
Восстановление начинается не с обещаний, а с подготовки.
Firefly-это плоскость управления облаком, которая позволяет DevOps и командам инженеров платформы сканировать и обнаруживать весь свой облачный след, обнаружение облачных конфигураций, классифицировать активы с использованием политики как код и управлять одним инвентаризацией облачных ресурсов в разных кластерах и Kubernetes Clusters. Узнайте больше последних из Firefly Trending Stories YouTube.com/ThenewStack Tech Moving быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Идо Ниман является генеральным директором и соучредителем Firefly, а также бывшим генеральным директором и соучредителем Nuweba, быстрой и безопасной платформы без сервера. К разнообразию ролей, которые он занимал, он приносит более десятилетнего опыта в элите … читайте больше от Ido Neeman