17 тем · ~70 минут · 49 тестов

Лекция «Инфраструктура как код — описание, дрейф и цена ручной правки»

Дрейф конфигурации — это незаписанные изменения, и приносит их не только человек: у Datadog штатный порядок обошёл забытый канал обновлений в базовом образе. Полностью дрейф не устраняется — так говорят первоисточники, а не осторожные консультанты. Семнадцать тем для DevOps-инженера: язык плана на ревью, состояние как секрет, требования приказов ФСТЭК к управлению конфигурацией и ловушка нумерации мер УКФ.

Для кого

Для DevOps-инженера, который уже держит боевые серверы и облачные ресурсы под конвейером и хочет разобраться не с синтаксисом инструмента, а с тем, что именно в инфраструктурной правке подлежит проверке. Уровень advanced: репозиторий, ревью и автоматизация предполагаются знакомыми, объясняются дрейф конфигурации, язык плана, состояние как чувствительный артефакт и проекция всего этого на требования ФСТЭК к управлению конфигурацией. Поэтапный выкат и критерий отката, инвентаризация активов, первые минуты отказа, целевые показатели восстановления и реестр российского ПО — соседние темы каталога, здесь их нет.

Продвинутый уровень
Что получишь

После лекции вы сможете

  • Отличать описание конфигурации от документации о конфигурации и называть, чем различается их устаревание
  • Называть два источника дрейфа — человек мимо инструмента и автоматика мимо описания — и объяснять, почему второй труднее обнаружить
  • Читать план изменения как предмет ревью: разбирать список уничтожаемого и пересоздаваемого и проверять удаления по плану, а не по диффу
  • Объяснять, что попадает в файл состояния, почему он секрет и почему пометка sensitive его не защищает
  • Сопоставлять требования пункта 18.4 приказа ФСТЭК № 17 с работой конвейера: перечень объектов, оценка влияния, санкционирование, запись, контроль
  • Ссылаться на меры УКФ с номером приказа и не путать УКФ.1 из приказа № 21 с УКФ.1 из приказа № 239
  • Ставить три предохранителя перед разрушающей операцией — мягкое удаление, ограниченный прогон, проверенный откат — и объяснять, почему ревью их не заменяет
  • Называть источник и интерес автора у каждой цифры про зрелость подхода и не ссылаться на несуществующие разбивки
Программа

17 тем и 49 тестов на понимание

Каждая тема — один экран и одна мысль. В конце темы — ситуационные вопросы: ответили верно, идёте дальше.

Часть 1. Снежинка, дрейф и предел инструментов

1

Снежинка, феникс и улица между ними

2

Синхронизация не доводит до согласованности

3

Идемпотентность: changed=0 и где она кончается

Часть 2. Что обязано лежать под контролем версий

4

Что обязано лежать под контролем версий

5

Четыре принципа GitOps — дословно

6

Цифры есть, и у каждой есть автор с интересом

Часть 3. Три аварии и что они меняют

7

Salesforce: «только один раз, вручную»

8

Datadog: мимо описания прошёл не человек

9

Atlassian: 775 клиентов за 23 минуты

10

Что автоматизация меняет на самом деле

Часть 4. Ревью, план и состояние

11

План как предмет ревью

12

Удалённая строка опаснее добавленной

13

Файл состояния — секрет

Часть 5. Регулятор, инструмент и границы

14

Приказ № 17, пункт 18.4 — это описание конвейера

15

УКФ.1 без номера приказа ничего не значит

16

Инструмент — переменная, практика — нет

17

Красные линии: чего эта лекция не обещает

Темы лекции: инфраструктура как код, управление конфигурацией, дрейф конфигурации, состояние, Terraform, OpenTofu, Ansible, GitOps, DORA, ревью инфраструктурной правки, ФСТЭК, приказ 17, приказ 21, приказ 239, УКФ, аттестованная ГИС, DevOps, эксплуатация инфраструктуры

Обновлено: 22 сентября 2026

Как устроено обучение

Читаете, отвечаете, видите результат

Интерактивная лекция с тестами: тема — экран текста, за ним вопрос по этой же теме. Ни видео, ни вебинаров, ни дедлайнов.

Тесты внутри тем

49 тестов по ходу лекции — ситуационных, на понимание, а не на зубрёжку.

Старт — бесплатно и сразу

Первые темы открыты без регистрации: нажали — учитесь. Понравилось — продолжите по аккаунту, полный доступ от 99 ₽. Прогресс сохраняется на той же теме.

Вопросы

Коротко о главном

Сколько времени займёт лекция?
Около 70 минут на 17 тем. Прогресс сохраняется, поэтому лекцию можно проходить частями и возвращаться к ней позже.
Это бесплатно?
Начало — да: первые 1 тема открыты сразу, без регистрации. После бесплатной регистрации откроются темы до 2-й — вместе с частью из 49 тестов и монетами за верные ответы. Полная лекция — 99 ₽ навсегда, либо подписка на все лекции платформы от 499 ₽ в месяц.
Что у меня останется после лекции?
Семнадцать тем про то, как изменение попадает в инфраструктуру. Дрейф конфигурации по определению Фаулера — это не расхождение сред, а разовые изменения, которые нигде не записаны; источников у него два, и автоматический труднее обнаружить, потому что у изменения нет ни автора, ни задачи, ни момента решения. Обещать полное устранение дрейфа нельзя: Моррис пишет, что полная согласованность существующими средствами недостижима, Фаулер — что неизменяемый сервер оставляет простор для дрейфа, DORA — что идеальной воспроизводимости у сложной системы не бывает, потому что у любой реальной системы есть состояние. Три публичных разбора показывают обе стороны: Salesforce 11.05.2021 — пятичасовой отказ после экстренной ручной правки DNS, где ступенчатость осталась на усмотрение исполнителя; Datadog 08.03.2023 — пять регионов у трёх провайдеров и 50–60% боевых узлов Kubernetes, потерявших связность из-за оставшегося включённым канала обновлений в базовом образе с окном 06:00–07:00 UTC; Atlassian 05.04.2022 — скрипт с ревью и успешным прогоном на 30 сайтах, удаливший 883 сайта 775 клиентов за 23 минуты, причём безвозвратно и вместе с контактными данными. Отсюда честная формулировка: автоматизация не уменьшает вероятность ошибки, она уменьшает разброс и ускоряет последствия, а платят за это предохранителями — мягким удалением, ограниченным прогоном и проверенным откатом. Ревью инфраструктурной правки читает план, а не намерение: спор идёт о списке «уничтожить» и «уничтожить и создать заново», флаг отключения синхронизации состояния делает дрейф невидимым, а prevent_destroy исчезает вместе с удалённым блоком ресурса, потому что в состоянии это правило не хранится. Файл состояния и сохранённый план — секреты: документация требует держать состояние вне Git, а пометка sensitive скрывает значение из вывода, но не шифрует его в состоянии. Российский слой: пункт 18.4 приказа ФСТЭК № 17 требует перечня объектов, анализа воздействия, санкционирования, документирования и контроля — ровно того, что делает конвейер; аттестат с 27.09.2019 выдаётся на весь срок эксплуатации, а не на три года; УКФ.1 в приказе № 21 и в приказе № 239 — разные меры под одним шифром. Заканчивается лекция списком формулировок, которые повторять нельзя, — от «код предотвращает аварии» до вендорских процентов, выданных за отраслевой замер.
Мы раскатали управление конфигурацией на весь парк. Можно докладывать, что дрейф устранён?
Нет, и это не придирка к формулировке. Киф Моррис в заметке 2013 года описывает механику честно: инструмент периодически переприменяет описание, и изменение, сделанное мимо него, откатывается к централизованно заданной конфигурации. А следующим абзацем — ограничение: «In practice, however, it isn't feasible to keep servers completely consistent using current automated configuration management tools, so over time configuration synchronization leads to inconsistency». Причины названы конкретно: каждый управляемый элемент требует написать, протестировать и поддерживать рецепт; элементов на типовом сервере слишком много; трудоёмкость растёт нелинейно из-за зависимостей; пакетные менеджеры сами дотягивают зависимости, поэтому большая часть пакетов управляется лишь неявно и может измениться без предупреждения. Фаулер добавляет то же самое про неизменяемые серверы: полностью управлять конфигурацией на практике невозможно, простор для дрейфа остаётся. DORA формулирует предел общей фразой: «impossible to achieve perfect reproducibility and traceability for a complex enterprise system (at a minimum, every real system has state)». Корректный доклад звучит иначе: доля неописанных элементов сокращена до такой-то, расхождение с описанием стало обнаруживаемым, сверка идёт с такой-то периодичностью. Это проверяемые утверждения, а «дрейф устранён» — нет.
Правка выглядит безобидно: минус четырнадцать строк, плюс две. Что смотреть в первую очередь?
План, и в нём — строки со знаком «уничтожить» и «уничтожить и создать заново». Дифф описания показывает намерение автора, план показывает последствия, и расходятся они чаще всего именно на удалениях. Отдельно проверьте, не был ли у удалённого ресурса защитный мета-аргумент: правило prevent_destroy отвергает планы, уничтожающие объект, но документация HashiCorp прямо оговаривает — «This rule doesn't prevent Terraform from destroying a resource if you remove its configuration». Правило не записывается в состояние (кроме create_before_destroy), поэтому вместе с удалённым блоком исчезает и защита, а план покажет уничтожение и не возразит. Ещё две вещи, которые видно только в плане и не видно в диффе: флаг отключения синхронизации состояния, при котором Terraform игнорирует внешние изменения и план может оказаться неполным или неверным, и возраст самого плана — документация требует перед применением заново проверить окончательный, не спекулятивный план, потому что за время согласования систему мог изменить кто-то ещё.

Инфраструктура как код — описание, дрейф и цена ручной правки — открывается прямо сейчас

17 тем, 49 тестов и около 70 минут вашего времени. Первые темы — бесплатно и без регистрации: начните и решите по делу, а не по описанию.

Начать лекцию →

Уже проходили? Личный кабинет помнит, на чём вы остановились.