Szkolenie Terraform
Poziom
ZaawansowanyCzas
24h / 3 dniTermin
IndywidualnieCena
IndywidualnieSzkolenie z Terraform
Poznaj wiodące narzędzie do zarządzania chmurami publicznymi (i nie tylko) – Terraform i przenieś zarządzanie infrastrukturą na zupełnie nowy poziom! Ten kurs przeprowadzi Cię nie tylko przez podstawy używania Terraform, ale da Ci także praktyczną wiedzę na temat dobrych praktyk i pracy w zespole, jak i automatyzacji z wykorzystaniem Terraform.
Dla kogo jest szkolenie z Terraform?
Dla osób pracujących z chmurą publiczną i posiadających podstawową praktykę z Terraform (HCL, init/plan/apply), które chcą przejść na bardziej uporządkowaną i skalowalną pracę z IaC
Dla firm korzystających z wielu dostawców chmury publicznej, które potrzebują ujednoliconego podejścia do zarządzania infrastrukturą jako kodem
Dla osób, które chcą ujednolicić proces zarządzania swoją infrastrukturą i ograniczyć ryzyko błędów operacyjnych dzięki standaryzacji, modułom i pracy zespołowej na stanie
W szczególności dla programistów i devopsów
Czego nauczysz się na szkoleniu z Terraform?
- Workflow Terraform w praktyce (init/plan/apply, plan jako artefakt, idempotencja, podstawy kontroli driftu)
- Środowiska pracy pod projekty Terraform (wersjonowanie narzędzia, struktura repozytorium, konfiguracja providerów i uwierzytelnienia)
- Zarządzania zasobami w Terraform (resource i data block, zależności, parametryzacja, iteracje count/for_each)
- Modularyzacji i reużywalności kodu (moduły lokalne, wejścia/wyjścia, typy i walidacja zmiennych, spójne konwencje)
- Stanu Terraform (state i backend, backend zdalny, blokady, migracje, współpraca w zespole, bezpieczeństwo danych stanu)
- Zależności i kompozycji konfiguracji (meta-argumenty, dynamic blocks, funkcje, wzorce projektowe do dużych konfiguracji)
- Dynamicznej konstrukcji zasobów i modułów (locals, kolekcje, parametryzacja, minimalizacja duplikacji)
- Integracji Terraform z istniejącą infrastrukturą (import, refaktoryzacja bez utraty stanu, porządkowanie zasobów w state)
- Zastosowania Terraform poza chmurą publiczną (provider local oraz scenariusze z providerami dla usług i narzędzi wspierających)
- Dobrych praktyk i narzędzi podnoszących jakość kodu IaC (tflint, pre-commit, terragrunt, terraform console) oraz podstaw podejścia do sekretów i ryzyk w IaC
Program szkolenia
Moduł 1 – Wprowadzenie do Infrastructure as Code
- Definicja IaC (Infrastructure as Code) – cele, korzyści, ograniczenia, podejście deklaratywne vs imperatywne
- Narzędzia IaC – przegląd ekosystemu, kryteria doboru, zakres odpowiedzialności narzędzia
- Podstawy Terraform – HCL, workflow init/plan/apply, plan jako artefakt, podstawy idempotencji i drift
Moduł 2 – Instalacja Terraform
- Instalacja Terraform – wersjonowanie (Terraform 1.x), tfenv, instalacja providerów, weryfikacja środowiska
- Konfiguracja wstępna Terraform – układ projektu, konfiguracja providerów, uwierzytelnienie, podstawowe ustawienia pracy zespołowej
Moduł 3 – Podstawy Terraform
- Struktura katalogów i plików – organizacja konfiguracji, konwencje, czytelność projektu
- Terraform State i Backend – rola stanu, blokady, podstawy bezpieczeństwa, typowe ryzyka
- Terraform Providers – konfiguracja, wersjonowanie, zależności, zakres odpowiedzialności providerów
- Terraform resource i data block – model zasobów i źródeł danych, zależności, typowe wzorce użycia
- Provider local – zarządzanie zasobami lokalnymi, scenariusze poza chmurą publiczną, ograniczenia podejścia
- Kolekcje i iteracje (for_each, count) – parametryzacja, powtarzalność, typowe pułapki i dobre praktyki
Moduł 4 – Stan Terraform
- State lokalny – struktura pliku, ryzyka współdzielenia, podstawy kopii zapasowych i odtwarzania
- State w GCP – backend w GCP, blokady, uprawnienia, separacja środowisk
Moduł 5 – Backend zdalny z wykorzystaniem GCP
- Zasoby backendu zdalnego – bucket, IAM, szyfrowanie, wersjonowanie, minimalne uprawnienia
- Backend zdalny w projekcie – konfiguracja, migracja stanu, praca zespołowa, podstawy organizacji środowisk
Moduł 6 – Projekt – maszyna wirtualna pod serwer HTTP
- Provider GCP oraz backend zdalny – wymagania, struktura konfiguracji, workflow zespołowy
- Maszyna wirtualna prekonfigurowana z Load Balancerem oraz firewallem – zasoby, zależności, parametry i bezpieczeństwo
- Providery TLS, Template oraz Random – generacja danych i identyfikatorów, szablony konfiguracji, integracja w projekcie
Moduł 7 – Moduły lokalne wielokrotnego użycia w Terraform
- Definicja i deklaracja modułów lokalnych w Terraform – struktura, zależności, zasady projektowania modułów
- Zmienne “variables” oraz dane wyjściowe “output” – typy, walidacja, wartości domyślne, wrażliwość danych (sensitive)
- Modularyzacja zrealizowanego projektu – refaktoryzacja, podział na komponenty, reużywalność między środowiskami
Moduł 8 – Moduł klastra GKE wielokrotnego użycia
- Definicja zasobów klastra z wykorzystaniem Terraform – komponenty, zależności, parametryzacja i wersjonowanie
- Konfiguracja wstępna klastra z wykorzystaniem providera Kubernetes – dostęp, kontekst, zależności i bezpieczeństwo
- Namespace – separacja środowisk i aplikacji, standardy nazewnictwa
- RBAC – role i bindingi, zasada minimalnych uprawnień
- Dobre praktyki w zakresie wykorzystania variables, locals i data blocks – spójność, czytelność, ograniczanie duplikacji
Moduł 9 – Terraform deep-dive
- Meta-argumenty – lifecycle, depends_on, count/for_each, dynamic blocks, typowe scenariusze użycia
- Funkcje – praca na kolekcjach, stringach i mapach, kompozycja wyrażeń, czytelne konstrukcje
Moduł 10 – Wzorce projektowe
- Secrets Facility – podejście do sekretów, integracja z menedżerami sekretów, zasady bezpieczeństwa stanu
- Module Composition – kompozycja modułów, zależności, kontrakty wejść/wyjść
- Infrastructure Layering – warstwowanie infrastruktury, separacja odpowiedzialności, granice konfiguracji
- Delegate Pattern – delegowanie odpowiedzialności, ograniczanie sprzężeń, czytelność dużych konfiguracji
Moduł 11 – Wielkoskalowa implementacja Terraform – dobre praktyki
- Zarządzanie repozytoriami IaC – struktura, mono-repo vs multi-repo, konwencje, code review i kontrola zmian
- Pipeline’ów – standard workflow (plan/apply), artefakty planu, zatwierdzenia, środowiska i kontrola dostępu
- Zarządzanie rozbudowaną konfiguracją – parametryzacja, layering, standardy, utrzymanie i ograniczanie długu technicznego
Moduł 12 – Narzędzia dodatkowe i ich zastosowanie
- tfenv – kontrola wersji Terraform, spójność środowisk
- pre-commit – hooki jakości (fmt/validate/lint), standardy repozytorium i automatyzacja kontroli
- terragrunt – kompozycja konfiguracji, DRY, zależności między warstwami
- terraform console – interaktywna ewaluacja wyrażeń i funkcji, diagnostyka konfiguracji
- tflint – linting HCL i providerów, wykrywanie typowych błędów i niespójności