Съдържание и теми, включени в курса
Модул 1: Въведение в Инфраструктурата като код и Terraform
- Концепции и ползи от IaC за локални и хибридни среди
- Обхват на Terraform: провайдъри, ресурси, състояние (state) и жизнен цикъл
- Инсталиране на Terraform, Azure CLI и необходимите инструменти
- Първо практически упражнение: написване и локално прилагане на проста конфигурация на Terraform
Модул 2: Език за конфигурация на HashiCorp (HCL) и основни аспекти на конфигурацията
- Синтаксис на HCL, ресурси, атрибути и изрази
- Променливи, изходи (outputs), локални променливи и ограничения по типове данни
- Използване на Terraform CLI: init, plan, apply, destroy и fmt
- Практическо упражнение: изграждане на параметризирана конфигурация за локален ресурс и ресурс в Azure
Модул 3: Провайдъри, ресурси и основни аспекти на Azure Provider
- Разбиране на провайдърите и конфигурацията им (AzureRM провайдър)
- Мапиране на инфраструктурата към ресурси в Terraform (мрежи, изчислителни възможности, съхранение)
- Управление на автентикация в Azure и service principals за автоматизация
- Практическо упражнение: предоставяне на виртуална мрежа в Azure и проста ВМ чрез Terraform
Модул 4: Управление на състоянието, backends и сътрудничество
- Състояние на Terraform: цел, формат и съображения относно жизнения цикъл
- Remote backends с Azure Storage Account и стратегии за блокиране на състоянието (state locking)
- Работни пространства, среди и модели за сътрудничество между отбори
- Лабораторно упражнение: конфигуриране на remote state в Azure Storage и извършване на workflow с множество потребители
Модул 5: Модуларизация, повторно използване и най-добри практики
- Създаване и ползване на Terraform модули
- Входни/изходни параметри на модулите, версиониране и модели за registry
- Структура на папки, конвенции за имена и поддържима структура на репозиторита
- Практическо упражнение: създаване на повторно използваем модул за Azure ВМ + диск + мрежа и тестване в различни среди
Модул 6: Управление на виртуални устройства в Azure и интеграция с локалната среда
- Управление на виртуални машини в Azure, компоненти на Virtual Desktop и жизнения цикъл на устройствата чрез Terraform
- Модели за хибридно управление на устройства: свързване на локални ресурси и устройства, управлявани от Azure
- Интегриране на системи за управление на обемни данни или устройства чрез data sources и външни провайдъри
- Лабораторно упражнение: изграждане на флот от ВМ в Azure, представляващи операторски единици, и конфигуриране на тагиране на инвентара и основен мониторинг
Модул 7: CI/CD, автоматизация и пайплайни за разгръщане
- Интегриране на Terraform с CI/CD (GitHub Actions, Azure DevOps пайплайни)
- Автоматизация на план/прилагане с защитени тайни данни и service principals
- Основни аспекти на Policy as Code (модели на Sentinel или Open Policy Agent) и проверки преди разгръщане
- Практическо упражнение: създаване на прост GitHub Actions workflow за план и прилагане на Terraform към sandbox абонамент
Модул 8: Сигурност, тайни данни и оперативни практики
- Управление на тайни данни: интеграция с Azure Key Vault и избягване на чувствителни данни в файловете със състояние
- Управление на достъпа, RBAC и принцип на минималните права за сметки за автоматизация
- Детекция на отклонения (drift), хармонизация на състоянието и основни практики за отстраняване на проблеми
- Чеклист: резервно копиране, одитиране и управление (governance) на инфраструктурата, управлявана от Terraform
Модул 9: Тестване, отстраняване на грешки и решаване на проблеми
- Отстраняване на грешки в конфигурациите на Terraform и ефективна интерпретация на плановите разлики
- Подходи за unit и интеграционни тестове (terraform validate, tflint, kitchen-terraform)
- Често срещани модели на грешки и стратегии за тяхното отстраняване
- Лабораторно упражнение: изпълнение на инструменти за валидация и линтиране и отстраняване на откритите проблеми
Модул 10: Capstone проект — Сценарий за хибридно разгръщане
- Упражнение по проектиране: планиране на разгръщане на локална + Azure устройствена среда, използвайки научените модели
- Реализиране на основните компоненти, използвайки модули, remote state и фрагменти от CI/CD пайплайн
- Представяне на решението, обсъждане на компромисите (trade-offs) и преглед на оперативния хендбук (runbook)
Обобщение и следващи стъпки
Изисквания
- Разбиране на основни концепции по мрежи и виртуализация
- Знаеност с командния ред в Windows или Linux
- Основни познания по концепции за облачна или локална инфраструктура
Одитория
- Системни администратори и платфърм инженери
- DevOps практикуващи, започващи с Инфраструктура като код
- IT екипи, управляващи хибридна (локална + Azure) инфраструктура
Отзиви от участници (3)
Темпото беше предимно отлично. Михал се справи много добре с поддържането на вниманието на публиката и гарантираше, че всички следят хода на предаването.
Asif Shaikh - Carpmaels & Ransford
Курс - Terraform on Microsoft Azure
Машинен превод
Проверка на всички детайли на практика - чрез написване на реален код
Michal Pipala - EY
Курс - Advanced Terraform: Efficient Infrastructure as Code
Машинен превод
инструкторът беше много добре подготвен
Federico Biavati - CRIF S.P.A.
Курс - Terraform for Managing Cloud Infrastructure
Машинен превод