Дисципліна Infrastructure as Code
Прикладна дисципліна | 6 модулів | ~4 години загалом
Огляд
Розділ «Огляд»Infrastructure as Code (IaC) — це практика управління та підготовки інфраструктури за допомогою машиночитаних файлів конфігурації, а не через ручне налаштування обладнання або використання інтерактивних інструментів. Цей трек охоплює принципи IaC, тестування, безпеку, масштабування, управління дрейфом конфігурації та оптимізацію витрат.
Це не про вивчення конкретного інструменту — це про розуміння патернів, практик та принципів, які роблять роботу з інфраструктурою успішною незалежно від того, який інструмент ви використовуєте.
Передумови
Розділ «Передумови»Перед початком цього треку:
- Основи IaC — базові концепції
- Системне мислення — розуміння складних систем
- Базові знання будь-якого хмарного провайдера
Модулі
Розділ «Модулі»| # | Модуль | Складність | Час |
|---|---|---|---|
| 6.1 | Основи IaC та модель зрілості | [MEDIUM] | 35-40 хв |
| 6.2 | Стратегії тестування IaC | [COMPLEX] | 40-45 хв |
| 6.3 | Безпека IaC | [COMPLEX] | 40-45 хв |
| 6.4 | IaC у масштабі | [COMPLEX] | 45-50 хв |
| 6.5 | Виявлення та усунення дрейфу | [MEDIUM] | 35-40 хв |
| 6.6 | Управління витратами в IaC | [MEDIUM] | 35-40 хв |
Результати навчання
Розділ «Результати навчання»Після завершення цього треку ви зможете:
- Оцінювати зрілість IaC — визначати, на якому етапі знаходиться ваша організація
- Тестувати код інфраструктури — unit, інтеграційні та compliance тести
- Захищати IaC конвеєри — політика як код, управління секретами, безпека ланцюжка поставок
- Масштабувати IaC — використання модулів, воркспейсів та управління станом у великих організаціях
- Виявляти та виправляти дрейф — розуміти, коли реальність розходиться з кодом
- Оптимізувати витрати — практики FinOps у коді інфраструктури
Ключові концепції
Розділ «Ключові концепції»Модель зрілості IaC
Розділ «Модель зрілості IaC»┌─────────────────────────────────────────────────────────────────┐│ РІВНІ ЗРІЛОСТІ IAC │├─────────────────────────────────────────────────────────────────┤│ ││ Рівень 1: Ручний → Скрипти, кліки в консолі ││ Рівень 2: Скриптовий → Базова автоматизація, без управління станом││ Рівень 3: IaC → Контроль версій, управління станом ││ Рівень 4: Тестований → Автоматичне тестування, дотримання політик││ Рівень 5: Self-serve → API платформи, guardrails, автономія ││ │└─────────────────────────────────────────────────────────────────┘Піраміда тестування IaC
Розділ «Піраміда тестування IaC» ┌─────────────┐ │ E2E / │ ← Реальна інфраструктура │ Інтеграційні│ (найповільніші, найнадійніші) ├─────────────┤ │ Сканування │ ← Перевірки на відповідність │ політик │ (OPA, Checkov, tfsec) ├─────────────┤ │ Unit │ ← Валідація логіки │ тести │ (найшвидші) └─────────────┘Основні принципи
Розділ «Основні принципи»- Все у контролі версій — жодних кліків у консолі на продакшні
- Ідемпотентність — запуск того самого коду двічі дає однаковий результат
- Незмінна інфраструктура — заміна, а не модифікація
- Стан як джерело істини — відстеження того, що реально існує
- Модульність — побудова інфраструктури з компонентів багаторазового використання
Охоплені інструменти (Концептуально)
Розділ «Охоплені інструменти (Концептуально)»Цей трек охоплює концепції. Для практики дивіться набір інструментів IaC.
| Категорія | Приклади |
|---|---|
| Провіженінг | Terraform, OpenTofu, Pulumi, CloudFormation |
| Конфігурація | Ansible, Chef, Puppet, Salt |
| Тестування | Terratest, OPA, Checkov, tfsec, Infracost |
| Детекція дрейфу | Driftctl, Terraform Cloud, Pulumi |
| Управління витратами | Infracost, Kubecost |
Пов’язані треки
Розділ «Пов’язані треки»- До: Системне мислення — база для складних систем
- До: Принципи безпеки — база для модуля безпеки IaC
- Пов’язано: Platform Engineering — IaC як ядро самообслуговування
- Пов’язано: DevSecOps — безпека в IaC конвеєрах
- Пов’язано: GitOps — доставка інфраструктури через GitOps
- Після: Набір інструментів IaC — практика з Terraform, Pulumi
“Infrastructure as Code — це не про заміну кліків на друкування тексту. Це про застосування дисципліни програмної інженерії до інфраструктури.”