Wprowadzenie
Infrastruktura jako kod (IaC) reprezentuje podstawową metodologię DevOps, która umożliwia zespołom zarządzanie infrastrukturą za pomocą kodu, a nie procesów ręcznych. Takie podejście stało się niezbędne w przypadku nowoczesnego dostarczania oprogramowania — wielu ekspertów uważa IaC za warunek wstępny pomyślnej implementacji DevOps.
Zamiast ręcznie konfigurować serwery lub używać jednorazowych skryptów, IaC traktuje infrastrukturę w taki sam sposób, w jaki deweloperzy traktują kod aplikacji. Oznacza to, że sieci, serwery i inne zasoby są definiowane w plikach przechowywanych w systemie kontroli wersji, które można przeglądać, testować i wdrażać w sposób spójny.
Kluczowe zasady IaC obejmują:
- Kontrola wersji: Definicje infrastruktury przechowywane w systemie Git lub w innych systemach kontroli wersji.
- Testowanie automatyczne: Zmiany infrastruktury zweryfikowane przed wdrożeniem.
- Ciągłe monitorowanie: Stan infrastruktury jest śledzony i zarządzany.
- Odtwarzalności: Ta sama konfiguracja generuje identyczne wyniki za każdym razem.
Nowoczesne platformy w chmurze, takie jak Azure, AWS i Google Cloud, zapewniają elastyczne zasoby na żądanie. Aby w pełni wykorzystać tę elastyczność, organizacje muszą wdrożyć praktyki IaC w całym portfolio infrastruktury. Narzędzia takie jak szablony Azure Resource Manager (ARM), Terraform, Bicep i Ansible umożliwiają zespołom zautomatyzowane aprowizowanie i konfigurowanie infrastruktury.
W tym module omówiono podstawowe pojęcia IaC, strategie wdrażania środowiska i podejścia do zarządzania konfiguracją. Poznasz style konfiguracji imperatywnej i deklaratywnej oraz operacje idempotentne , które zapewniają spójne wyniki.
Cele kształcenia
Po ukończeniu tego modułu będziesz mieć następujące umiejętności:
- Zaimplementuj automatyzację wdrażania środowiska przy użyciu infrastruktury jako kodu.
- Projektowanie strategii zarządzania konfiguracją przy użyciu kontroli wersji.
- Wybór między podejściami konfiguracji imperatywnej i deklaratywnej.
- Zastosuj zasady konfiguracji idempotentnych dla spójnej infrastruktury.
Warunki wstępne
- Zrozumienie zasad i praktyk metodyki DevOps.
- Znajomość systemów kontroli wersji (pomocna, ale nie jest wymagana).
- Podstawowa wiedza na temat pojęć związanych z przetwarzaniem w chmurze.