0Pricing
DevOps Bootcamp · Lekcja

Podstawy Infrastructure as Code

Poznaj Infrastructure as Code: definiowanie serwerów, sieci i usług w plikach śledzonych przez system kontroli wersji zamiast konfigurowania ich w konsolach, a także zasady zapewniające niezawodność tego podejścia.

Podstawy Infrastructure as Code to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Czym jest infrastruktura jako kod?

Infrastruktura jako kod (IaC) oznacza opisywanie infrastruktury — serwerów, sieci i modułów równoważenia obciążenia — w czytelnych maszynowo plikach, które są wersjonowane i stosowane automatycznie, zamiast konfigurowania wszystkiego ręcznie.

Rozwiązywany problem

Ręczna konfiguracja oparta na klikaniu prowadzi do dryfu konfiguracji: środowiska stopniowo się rozchodzą i nikt nie pamięta dlaczego. IaC sprawia, że infrastruktura jest odtwarzalna, możliwa do sprawdzenia i łatwa do odzyskania.

  • Spójne środowiska deweloperskie, testowe i produkcyjne
  • Szybkie odtwarzanie po awarii
  • Możliwa do prześledzenia historia zmian

Deklaratywne a imperatywne

Narzędzia deklaratywne opisują pożądany stan końcowy i samodzielnie ustalają potrzebne kroki (Terraform). Narzędzia imperatywne wykonują jawne polecenia w określonej kolejności (skrypt powłoki). Większość współczesnych rozwiązań IaC ma charakter deklaratywny.

Przykład deklaratywny

W tym przypadku plik deklaratywny po prostu określa, że powinna istnieć jedna maszyna wirtualna. Narzędzie decyduje, czy ją utworzyć, zaktualizować, czy pozostawić bez zmian.

resource "server" "web" {
  name  = "web-01"
  cpu   = 2
  image = "ubuntu-22.04"
}

Idempotencja

Podstawowa zasada IaC: wielokrotne zastosowanie tej samej definicji daje ten sam wynik. Pierwsze uruchomienie tworzy zasoby, a kolejne niczego nie zmieniają, jeśli stan już się zgadza.

Kontrola wersji

Pliki IaC przechowuje się w Git, tak jak kod aplikacji. Zyskuje się różnice, przeglądy kodu, informacje o autorach zmian oraz możliwość wycofania zmian w infrastrukturze przez odwrócenie zatwierdzenia.

git add main.tf
git commit -m "Add web server definition"

Plan przed zastosowaniem zmian

Dobre narzędzia IaC pokazują plan — podgląd zmian — przed ich zastosowaniem. Pozwala to wykryć przypadkowe usunięcia, zanim do nich dojdzie.

terraform plan

Zarządzanie stanem

Narzędzia deklaratywne przechowują plik stanu, który odwzorowuje definicje na rzeczywiste zasoby. Należy przechowywać go bezpiecznie, często zdalnie, i nigdy nie edytować ręcznie.

Niezmienna infrastruktura

Zamiast modyfikować działające serwery, podejście niezmienne je zastępuje: należy zbudować nowy obraz, wdrożyć nowe instancje i wycofać stare. Oznacza to mniej niespodzianek i łatwe wycofywanie zmian.

Zarządzanie konfiguracją

IaC przygotowuje maszyny, a narzędzia do zarządzania konfiguracją (Ansible, Chef, Puppet) instalują na nich oprogramowanie i je konfigurują. Razem automatyzują cały stos.

ansible-playbook -i inventory site.yml

IaC w potoku DevOps

IaC można włączyć do CI/CD: scalenie zmian może uruchomić plan do przeglądu, a następnie apply po zatwierdzeniu. Zmiany infrastruktury przechodzą przez te same bramki co zmiany kodu.

Szybkie sprawdzenie

Dlaczego idempotencja ma znaczenie w IaC?

Podsumowanie

Można już wyjaśnić podstawy IaC:

  • Infrastrukturę opisuje się w wersjonowanych plikach, a nie za pomocą ręcznego klikania
  • Deklaratywne definicje i idempotentne zastosowania
  • Plan przed apply oraz bezpieczne zarządzanie stanem
  • Niezmienna infrastruktura i zarządzanie konfiguracją dopełniają całości

IaC zapewnia niezawodną i powtarzalną automatyzację DevOps.

Często zadawane pytania

Czy lekcja „Podstawy Infrastructure as Code” jest bezpłatna?

Tak — pełny tekst „Podstawy Infrastructure as Code” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Podstawy Infrastructure as Code”?

Poznaj Infrastructure as Code: definiowanie serwerów, sieci i usług w plikach śledzonych przez system kontroli wersji zamiast konfigurowania ich w konsolach, a także zasady zapewniające niezawodność… Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Podstawy Infrastructure as Code”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Sposób myślenia DevOps
  2. Ciągła integracja — wyjaśnienie
  3. Ciągłe dostarczanie i wdrażanie
  4. Podstawy Infrastructure as Code
← Powrót do DevOps Bootcamp