Перейти до вмісту

Дисципліна Infrastructure as Code

Прикладна дисципліна | 6 модулів | ~4 години загалом

Infrastructure as Code (IaC) — це практика управління та підготовки інфраструктури за допомогою машиночитаних файлів конфігурації, а не через ручне налаштування обладнання або використання інтерактивних інструментів. Цей трек охоплює принципи IaC, тестування, безпеку, масштабування, управління дрейфом конфігурації та оптимізацію витрат.

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

Перед початком цього треку:

#МодульСкладністьЧас
6.1Основи IaC та модель зрілості[MEDIUM]35-40 хв
6.2Стратегії тестування IaC[COMPLEX]40-45 хв
6.3Безпека IaC[COMPLEX]40-45 хв
6.4IaC у масштабі[COMPLEX]45-50 хв
6.5Виявлення та усунення дрейфу[MEDIUM]35-40 хв
6.6Управління витратами в IaC[MEDIUM]35-40 хв

Результати навчання

Розділ «Результати навчання»

Після завершення цього треку ви зможете:

  1. Оцінювати зрілість IaC — визначати, на якому етапі знаходиться ваша організація
  2. Тестувати код інфраструктури — unit, інтеграційні та compliance тести
  3. Захищати IaC конвеєри — політика як код, управління секретами, безпека ланцюжка поставок
  4. Масштабувати IaC — використання модулів, воркспейсів та управління станом у великих організаціях
  5. Виявляти та виправляти дрейф — розуміти, коли реальність розходиться з кодом
  6. Оптимізувати витрати — практики FinOps у коді інфраструктури
┌─────────────────────────────────────────────────────────────────┐
│ РІВНІ ЗРІЛОСТІ IAC │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Рівень 1: Ручний → Скрипти, кліки в консолі │
│ Рівень 2: Скриптовий → Базова автоматизація, без управління станом│
│ Рівень 3: IaC → Контроль версій, управління станом │
│ Рівень 4: Тестований → Автоматичне тестування, дотримання політик│
│ Рівень 5: Self-serve → API платформи, guardrails, автономія │
│ │
└─────────────────────────────────────────────────────────────────┘

Піраміда тестування IaC

Розділ «Піраміда тестування IaC»
┌─────────────┐
│ E2E / │ ← Реальна інфраструктура
│ Інтеграційні│ (найповільніші, найнадійніші)
├─────────────┤
│ Сканування │ ← Перевірки на відповідність
│ політик │ (OPA, Checkov, tfsec)
├─────────────┤
│ Unit │ ← Валідація логіки
│ тести │ (найшвидші)
└─────────────┘
  1. Все у контролі версій — жодних кліків у консолі на продакшні
  2. Ідемпотентність — запуск того самого коду двічі дає однаковий результат
  3. Незмінна інфраструктура — заміна, а не модифікація
  4. Стан як джерело істини — відстеження того, що реально існує
  5. Модульність — побудова інфраструктури з компонентів багаторазового використання

Охоплені інструменти (Концептуально)

Розділ «Охоплені інструменти (Концептуально)»

Цей трек охоплює концепції. Для практики дивіться набір інструментів IaC.

КатегоріяПриклади
ПровіженінгTerraform, OpenTofu, Pulumi, CloudFormation
КонфігураціяAnsible, Chef, Puppet, Salt
ТестуванняTerratest, OPA, Checkov, tfsec, Infracost
Детекція дрейфуDriftctl, Terraform Cloud, Pulumi
Управління витратамиInfracost, Kubecost

“Infrastructure as Code — це не про заміну кліків на друкування тексту. Це про застосування дисципліни програмної інженерії до інфраструктури.”