← Katalog
E I A C

Terraform

Infrastructure-as-Code

Deklaratywne provisioning infrastruktury w HCL, multi-cloud.

★ 44 000 BUSL-1.1 #iac#hcl#multi-cloud#hashicorp

Terraform to standard branżowy dla infrastruktury jako kod. Opisujesz docelowy stan zasobów (sieci, maszyny, bazy, uprawnienia) w deklaratywnym języku HCL, a Terraform wylicza różnicę między stanem zapisanym a rzeczywistym i wykonuje tylko potrzebne zmiany. Dzięki setkom providerów obejmuje praktycznie każdą chmurę i usługę SaaS z jednego, spójnego workflow.

Kiedy używać

  • Zarządzasz infrastrukturą w wielu chmurach lub usługach i chcesz jednego, deklaratywnego narzędzia.
  • Zależy Ci na podglądzie zmian (plan) przed ich wprowadzeniem i na powtarzalnych środowiskach.
  • Budujesz reużywalne moduły współdzielone między zespołami.

Przykład użycia

terraform {
  required_providers {
    aws = { source = "hashicorp/aws", version = "~> 5.0" }
  }
}

resource "aws_s3_bucket" "assets" {
  bucket = "eiac-assets"
  tags   = { project = "eiac" }
}
terraform init      # pobranie providerów
terraform plan      # podgląd zmian
terraform apply     # wprowadzenie zmian

plan pokazuje dokładnie, co zostanie utworzone/zmienione/usunięte, zanim cokolwiek dotknie infrastruktury.

Warto wiedzieć

  • Stan trzymaj zdalnie (np. backend S3 + blokada), nigdy w repo.
  • Po zmianie licencji na BUSL część społeczności przeszła na OpenTofu (fork MPL-2.0).
  • Strukturyzuj kod w moduły i środowiska (workspaces lub osobne katalogi).