Návrh Školení
Modul 1: Úvod do Infrastructure as Code a Terraformu
- Koncepty IaC a jejich výhody v lokálním i hybridním prostředí
- Přehled Terraformu: providery, zdroje, stav a životní cyklus prostředků
- Instalace Terraformu, Azure CLI a dalších potřebných nástrojů
- První praktické cvičení: vytvoření jednoduché konfigurace Terraformu a její místní aplikace
Modul 2: Jazyk HCL a základy konfigurace
- Syntaxe jazyka HCL, definice zdrojů, atributy a výrazy
- Proměnné, výstupy, lokální proměnné a omezení typů dat
- Práce s rozhraním Terraform CLI: init, plan, apply, destroy a fmt
- Praktické cvičení: vytvoření parametrizované konfigurace pro lokální i Azure zdroje
Modul 3: Providery, zdroje a základy práce s Azure Providerem
- Seznámení s conceptem providerů a jejich konfigurací (např. AzureRM provider)
- Mapování fyzické infrastruktury na odpovídající zdroje v Terraformu (sítě, výpočetní prostředky, úložiště)
- Konfigurace ověřování v Azure a přístupových účtů pro automatizaci
- Praktické cvičení: zřízení virtuální sítě a jednoduchého virtuálního počítače v Azure pomocí Terraformu
Modul 4: Správa stavu, backendy a spolupráce týmů
- Terraform State – jeho účel, formát a důležité aspekty životního cyklu
- Využití vzdálených backendů typu Azure Storage a mechanismů uzamykání stavu
- Práce s pracovními prostory, různými prostředími a postupy spolupráce týmů
- Cvičení: konfigurace vzdáleného stavu v Azure Storage a vyzkoušení víceuživatového workflow
Modul 5: Modularizace, opětovné použití kódu a osvědčené postupy
- Tvorba a využívání modulů Terraformu
- Vstupy/výstupy modulů, řízení verzí a postupy s registrem modulů
- Struktura složek, konvence pojmenování a správná organizace repozitáře
- Praktické cvičení: vytvoření opakovaně použitelného modulu pro virtuální počítač Azure, disk a síť a jeho testování v různých prostředích
Modul 6: Správa virtuálních zařízení v Azure a integrace s lokálním prostředím
- Spravování virtuálních počítačů v Azure, komponent Virtual Desktop a jejich životního cyklu pomocí Terraformu
- Postupy správy hybridní infrastruktury: propojování lokálních zdrojů s zařízeními spravovanými v Azure
- Integrace systémů určených k správě objemu dat či samotných zařízení pomocí datových zdrojů a externích providerů
- Cvičení: nasazení skupiny virtuálních počítačů v Azure představujících jednotky operátorů, jejich označování a základní monitorování
Modul 7: CI/CD, automatizace a nasazovací pipelines
- Integrace Terraformu s nástroji CI/CD – např. GitHub Actions či Azure DevOps pipelines
- Automatizace procesů typu plan a apply za využití zabezpečených tajných klíčů a přístupových účtů
- Základy Policy as Code – využití Sentinelu či Open Policy Agent pro kontrolu konfigurací před nasazením
- Praktické cvičení: sestavení jednoduchého workflow GitHub Actions určeného k plánování a nasazení Terraformu do testovacího odběru
Modul 8: Bezpečnost, správa tajných klíčů a provozní postupy
- Správa citlivých informací – integrace s Azure Key Vault a zamezení ukládání tajných údajů do souboru stavu
- Řízení přístupu, RBAC mechanismy a princip nejnižších oprávnění pro automatizační účty
- Detekce odchylek v konfiguraci, jejich korekce a základní postupy obnovy systému
- Kontrolní seznam: zálohování, auditování a správa infrastruktury spravované Terraformem
Modul 9: Testování, ladění a řešení problémů
- Identifikace chyb v konfiguracích Terraformu a interpretace výstupů příkazu plan
- Metody jednotkového a integračního testování – např. terraform validate, tflint nebo kitchen-terraform
- Nejčastější chyby a způsoby jejich odstranění
- Cvičení: spuštění nástrojů pro validaci a kontrolu kódu, oprava zjištěných problémů
Modul 10: Závěrečný projekt – scénář hybridního nasazení
- Návrhové cvičení: vytvoření plánu nasazení kombinujícího lokální i Azure zařízení na základě probíraných postupů
- Implementace klíčových částí prostřednictvím modulů, vzdáleného stavu a ukázek CI/CD pipeline
- Prezentace vytvořeného řešení, diskuse o kompromisech jednotlivých možností a shrnutí postupů pro další provoz
Závěrečné shrnutí a doporučené další kroky
Požadavky
- Základní znalost sítí a konceptů virtualizace
- Orientace v příkazovém řádku systému Windows nebo Linux
- Základní povědomí o cloudových i lokálních infrastrukturách
Cílové skupiny
- Systémoví administrátoři a inženýři platformy
- Praktici DevOps, kteří se právě začínají zabývat Infrastructure as Code
- IT týmy spravující hybridní infrastrukturu (lokální prostředí i Azure)
Reference (3)
Tempo přednášky bylo převážně skvělé. Michal byl velmi dobrý v zajištění toho, aby bylo publikum zapojené a aby si většina posluchačů dokázala následovat.
Asif Shaikh - Carpmaels & Ransford
Kurz - Terraform on Microsoft Azure
Přeloženo strojem
Kontrola všech detailů na praxi – psaním skutečného kódu
Michal Pipala - EY
Kurz - Advanced Terraform: Efficient Infrastructure as Code
Přeloženo strojem
instruktor byl velmi dobře připraven
Federico Biavati - CRIF S.P.A.
Kurz - Terraform for Managing Cloud Infrastructure
Přeloženo strojem