Набір інструментів IaC
Трек інструментів | 10 модулів | ~8.5 годин загалом
Огляд
Розділ «Огляд»Набір інструментів IaC (IaC Tools Toolkit) детально охоплює основні засоби реалізації інфраструктури як коду. Від Terraform та OpenTofu від HashiCorp до програмованого підходу Pulumi та управління конфігураціями Ansible, від CloudFormation до Bicep — цей набір дає практичний досвід роботи з інструментами, що визначають сучасну інфраструктуру.
Цей набір застосовує концепції з Дисципліни IaC.
Передумови
Розділ «Передумови»Перед початком цього треку:
- Дисципліна IaC — основи IaC, тестування, безпека
- Основи IaC — базові концепції (мінімум)
- Акаунт хмарного провайдера (AWS, Azure або GCP для вправ)
- Базовий досвід роботи з командним рядком
Модулі
Розділ «Модулі»| # | Модуль | Складність | Час |
|---|---|---|---|
| 7.1 | Глибоке занурення в Terraform | [COMPLEX] | 60 хв |
| 7.2 | OpenTofu | [MEDIUM] | 45-50 хв |
| 7.3 | Pulumi | [COMPLEX] | 55-60 хв |
| 7.4 | Ansible | [COMPLEX] | 55-60 хв |
| 7.5 | CloudFormation | [MEDIUM] | 45-50 хв |
| 7.6 | Bicep | [MEDIUM] | 45-50 хв |
| 7.7 | Wing | [COMPLEX] | 50-55 хв |
| 7.8 | SST | [MEDIUM] | 45-50 хв |
| 7.9 | System Initiative | [COMPLEX] | 50-55 хв |
| 7.10 | Nitric | [MEDIUM] | 45-50 хв |
Результати навчання
Розділ «Результати навчання»Після завершення цього треку ви зможете:
- Писати промисловий Terraform — модулі, воркспейси, бекенди стану, провайдери
- Мігрувати на OpenTofu — розуміти форк, шлях міграції, відмінності
- Використовувати Pulumi — інфраструктура на TypeScript, Python, Go
- Керувати конфігурацією з Ansible — плейбуки, ролі, інвентар
- Розгортати з CloudFormation — AWS-нативний IaC, вкладені стеки, макроси
- Використовувати Bicep — Azure-нативний IaC, спрощені ARM шаблони
- Розуміти Wing — хмарно-орієнтована мова програмування
- Розробляти з SST — сучасний serverless фреймворк з Live Lambda
- Досліджувати System Initiative — реактивна візуальна автоматизація DevOps
- Будувати з Nitric — хмарно-агностичний фреймворк додатків
Гід з вибору інструментів
Розділ «Гід з вибору інструментів»ЯКИЙ ІНСТРУМЕНТ IAC ОБРАТИ?─────────────────────────────────────────────────────────────────
"Мені потрібен мультихмарний провіженінг інфраструктури"└──▶ Terraform / OpenTofu • Декларативний синтаксис HCL • Екосистема провайдерів (AWS, Azure, GCP, K8s тощо) • Вбудоване управління станом • Найбільша спільнота
"Я хочу використовувати свою мову програмування (TS, Python, Go)"└──▶ Pulumi • Справжні мови програмування • Кращі можливості тестування • Підтримка складної логіки • Перевикористання існуючих бібліотек
"Мені потрібен тільки AWS з нативною інтеграцією"└──▶ CloudFormation • Глибока інтеграція з AWS • Детекція дрейфу стеків • StackSets для мульти-акаунтів • Немає файлів стану для управління
"Мені потрібен тільки Azure зі спрощеним синтаксисом"└──▶ Bicep • Дизайн Azure-first • Чистіше за шаблони ARM • Вбудовано в Azure CLI • Немає файлів стану для управління
"Мені потрібне управління конфігурацією (post-provisioning)"└──▶ Ansible • Без агентів (SSH/WinRM) • Ідемпотентні операції • Процедурний + декларативний • Чудовий для налаштування ОС
"Я хочу Terraform без ліцензійних ризиків HashiCorp"└──▶ OpenTofu • 1:1 сумісний з Terraform • Управління Linux Foundation • Рушій спільноти • Пряма заміна (drop-in replacement)Шлях вивчення
Розділ «Шлях вивчення»Модуль 7.1: Terraform Deep Dive │ │ Індустріальний стандарт │ Провайдери, модулі, стан ▼Модуль 7.2: OpenTofu │ │ Open-source альтернатива │ Міграція з Terraform ▼Модуль 7.3: Pulumi │ │ Мови програмування для IaC │ Тестування справжнім кодом ▼Модуль 7.4: Ansible │ │ Управління конфігурацією │ Плейбуки та ролі ▼Модуль 7.5: CloudFormation │ │ AWS-нативний IaC │ Стеки та StackSets ▼Модуль 7.6: Bicep │ │ Azure-нативний IaC │ Еволюція ARM шаблонів ▼[Набір завершено] → Набір інструментів платформПов’язані треки
Розділ «Пов’язані треки»- До: Дисципліна IaC — фундаментальна теорія
- Пов’язано: Дисципліна GitOps — доставка інфраструктури
- Після: Набір інструментів платформ — Crossplane та інструменти вищого рівня
“IaC — це не про заміну кліків на друкування. Це про застосування дисципліни програмної інженерії до інфраструктури.”