Úvod
Infrastruktura jako kód (IaC) představuje základní metodologii DevOps, která týmům umožňuje spravovat infrastrukturu prostřednictvím kódu místo ručních procesů. Tento přístup se stal zásadním předpokladem pro moderní doručování softwaru – mnoho odborníků považuje IaC za předpoklad úspěšné implementace DevOps.
Místo ruční konfigurace serverů nebo použití jednorázových skriptů zachází IaC s infrastrukturou stejným způsobem, jakým vývojáři zachází s kódem aplikace. To znamená, že vaše sítě, servery a další prostředky jsou definované v souborech řízených verzí, které je možné kontrolovat, testovat a nasazovat konzistentně.
Mezi klíčové principy IaC patří:
- Správa verzí: Definice infrastruktury uložené v Gitu nebo v jiných systémech správy verzí
- Automatizované testování: Změny infrastruktury se ověřovaly před nasazením.
- Průběžné monitorování: Stav infrastruktury je sledovaný a spravovaný.
- Reprodukovatelnost: Stejná konfigurace pokaždé vytvoří identické výsledky.
Moderní cloudové platformy, jako jsou Azure, AWS a Google Cloud, poskytují elastické prostředky na vyžádání. Aby bylo možné tuto flexibilitu plně využít, musí organizace přijmout postupy IaC v celém portfoliu infrastruktury. Nástroje, jako jsou šablony Azure Resource Manageru (ARM), Terraform, Bicep a Ansible, umožňují týmům zřizovat a konfigurovat infrastrukturu prostřednictvím kódu programu.
Tento modul zkoumá základní koncepty IaC, strategie nasazení prostředí a přístupy ke správě konfigurací. Dozvíte se o imperativních a deklarativních stylech konfigurace a idempotentních operacích, které zajišťují konzistentní výsledky.
Studijní cíle
Po dokončení tohoto modulu budete umět:
- Implementujte automatizaci nasazení prostředí pomocí infrastruktury jako kódu.
- Návrh strategií správy konfigurace pomocí správy verzí
- Vyberte si mezi imperativními a deklarativními přístupy ke konfiguraci.
- Použijte zásady idempotentní konfigurace pro konzistentní infrastrukturu.
Požadavky
- Znalost principů a postupů DevOps
- Znalost systémů správy verzí (užitečné, ale nevyžaduje se).
- Základní znalost konceptů cloud computingu