Terraform

Definicja #

Terraform to narzędzie Infrastructure as Code (IaC) stworzone przez HashiCorp (obecnie IBM), dostępne od 2014 roku. Pozwala opisać pożądany stan infrastruktury w deklaratywnym języku HCL (HashiCorp Configuration Language) lub JSON, a następnie automatycznie ją tworzyć, modyfikować i usuwać.

Kluczowe koncepcje Terraform:

  • Provider — wtyczka do konkretnego dostawcy (AWS, Azure, GCP, Kubernetes, GitHub...)
  • Resource — pojedynczy zasób infrastruktury (serwer, baza danych, VPC)
  • State — plik stanu (terraform.tfstate) mapujący kod na rzeczywiste zasoby
  • Plan — podgląd zmian przed ich wykonaniem (terraform plan)
  • Apply — wykonanie zaplanowanych zmian (terraform apply)
  • Module — reużywalny blok konfiguracji infrastruktury

Terraform Registry zawiera tysiące gotowych modułów i providerów. OpenTofu to fork open-source po zmianie licencji przez HashiCorp.

Zastosowania #

Terraform jest stosowany w:

  • Provisionowaniu całej infrastruktury chmurowej: sieci, maszyny wirtualne, bazy danych, storage
  • Zarządzaniu środowiskami (dev, staging, prod) przez moduły i workspace'y
  • GitOps i Infrastructure as Code — infrastruktura w repozytorium Git z code review
  • Automatyzacji tworzenia i usuwania środowisk testowych na żądanie
  • Zarządzaniu konfiguracją Kubernetes i Helm przez Terraform providers

Ścieżka nauki #

Przed nauką Terraform warto znać podstawy co najmniej jednej platformy chmurowej (AWS, Azure lub GCP) i podstawy sieci.

Zacznij od:

  • Składnia HCL: resources, variables, outputs, locals
  • Cykl życia: init, plan, apply, destroy
  • Zarządzanie stanem — backend (S3, Azure Blob, Terraform Cloud)

Następnie opanuj:

  • Moduły — tworzenie reużywalnej i parametryzowanej infrastruktury
  • Workspace'y i strategie środowiskowe
  • Remote state i locking (współpraca zespołowa)
  • Terraform Cloud / HCP Terraform dla pipeline'ów CI/CD
  • Certyfikacja: HashiCorp Certified: Terraform Associate

FAQ #

Czym różni się Terraform od Ansible?
Terraform to narzędzie do provisionowania infrastruktury (tworzenie i zarządzanie zasobami chmurowymi). Ansible to narzędzie do zarządzania konfiguracją i orkiestracji (co zainstalować i jak skonfigurować na istniejących serwerach). W praktyce często używa się ich razem.
Ile zarabia inżynier DevOps znający Terraform?
DevOps lub Cloud Engineer ze znajomością Terraform zarabia w Polsce od 14 000 do 28 000 zł brutto miesięcznie. Terraform jest jedną z najczęściej wymienianych umiejętności w ofertach cloud.
Czy Terraform jest darmowy?
Terraform CLI jest open source i darmowy. Terraform Cloud oferuje darmowy plan dla małych zespołów; plany płatne dodają SSO, audit logging i zaawansowane zarządzanie.
Czym jest OpenTofu?
OpenTofu to open-source'owy fork Terraform powstały po zmianie licencji przez HashiCorp z MPL na BSL. Jest w pełni kompatybilny z Terraform i rozwijany przez społeczność pod patronatem Linux Foundation.
Jak długo uczyć się Terraform?
Podstawy HCL i pierwsze zasoby chmurowe można stworzyć w 2–3 tygodnie. Opanowanie modułów, zarządzania stanem i dobrych praktyk zajmuje 2–3 miesiące regularnej praktyki.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z Terraform w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.