Jak Terraform i GitOps zmieniają zarządzanie infrastrukturą - i co zyskujesz, gdy każda zmiana ma historię w git.
Wyobraź sobie, że Twój deweloper przypadkowo usuwa security group w AWS w piątek o 17:45. Wiesz, co było wcześniej? Nikt nie pamięta. Kto to stworzył? Tajemnica. Jak to odtworzyć? Metodą prób i błędów przez kolejne dwie godziny. Tak wygląda "click-ops" - zarządzanie infrastrukturą przez konsolę, ręcznie, bez historii zmian.
Infrastructure as Code (IaC) rozwiązuje ten problem fundamentalnie: każda zmiana w infrastrukturze chmurowej jest zapisana w kodzie, wersjonowana w git, przechodzi code review i jest wdrażana automatycznie.
Co to jest IaC i dlaczego to działa
Najpopularniejsze narzędzia to Terraform (agnostyczny, obsługuje AWS, Azure, GCP), OpenTofu (open-source fork Terraform, pod zarządem Linux Foundation, w CNCF od 2025) i natywne: CloudFormation (AWS), Azure Bicep.
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t3.medium"
subnet_id = aws_subnet.private.id
tags = {
Name = "web-prod"
Environment = "production"
ManagedBy = "terraform"
}
}Ten kawałek kodu zastępuje 10 kliknięć w konsoli - i jest w git, ma autora, można go zrecenzować i odtworzyć w identyczny sposób w dowolnym środowisku.
Trzy konkretne problemy, które IaC eliminuje
Problem 1: Środowisko "tylko produkcja" - nie ma na czym testować
Z IaC możesz postawić identyczne środowisko testowe jedną komendą. A po testach skasować i nie płacić za jego utrzymanie.
Problem 2: Drift konfiguracyjny - nie wiesz, co jest na produkcji
Po roku "click-ops" nikt nie wie, co dokładnie jest w środowisku produkcyjnym. terraform plan pokazuje różnicę między stanem zdefiniowanym w kodzie a tym, co faktycznie istnieje w chmurze.
Problem 3: Disaster Recovery - odtworzenie infrastruktury trwa dni
Z IaC odtworzenie środowiska to godziny, nie dni.
tyle zajmuje postawienie identycznego środowiska z Terraform po prawidłowym wdrożeniu IaC. W porównaniu do 2–3 dni przy "click-ops".
GitOps - gdy IaC spotyka CI/CD
GitOps idzie o krok dalej: stan infrastruktury jest zarządzany przez git. Chcesz zmienić rozmiar instancji? Pull request, code review, merge - i pipeline automatycznie aplikuje zmianę.
- Każda zmiana ma autora i datę - pełna historia w git
- Zmiany są recenzowane przed wdrożeniem - mniej błędów
- Rollback to cofnięcie commita - a nie godzina klikania
- Zgodność i compliance są łatwiejsze do udowodnienia
Kiedy IaC nie jest priorytetem
Szczerze: jeśli masz startup z jedną aplikacją i dwa serwery - migracja do IaC może poczekać. Ale jeśli masz kilkanaście osób korzystających z infrastruktury i zaczyna boleć Cię "nie wiem, co jest w produkcji" - to jest właśnie ten moment.
Sygnały, że czas na IaC: Nikt nie wie, co jest w środowisku produkcyjnym. Odtworzenie środowiska dev trwa dłużej niż dzień. Zmiany w infrastrukturze nie mają autora ani historii. Compliance wymaga dowodów na zarządzanie zmianami.
Możemy zacząć od Cloud Checku - przejrzymy aktualny stan i powiemy, gdzie IaC przyniesie największy efekt.