toolPASS

Terraform

HashiCorps Infrastructure as Code-værktøj til provisionering af cloud-infrastruktur deklarativt.

Cloud-infrastruktur visualiseret med globale netværksforbindelser
Foto: NASA / Unsplash

Terraform er det mest udbredte Infrastructure as Code-værktøj og understøtter alle store cloud-platforme samt hundredvis af andre services via et provider-økosystem. Med HashiCorp Configuration Language (HCL) beskriver du den ønskede infrastruktur, og Terraform beregner og eksekverer de nødvendige ændringer.

Terraforms workflow følger tre trin: terraform init initialiserer providere og backend, terraform plan viser en preview af ændringer, og terraform apply eksekverer dem. Plan-trinnet er kritisk for sikkerhed, da det viser præcist hvad der vil blive oprettet, ændret eller slettet før noget sker.

State management er centralt i Terraform. En state-fil tracker den nuværende infrastruktur og mapper ressourcer i koden til faktiske cloud-ressourcer. Remote state backends som S3, Azure Blob Storage eller Terraform Cloud muliggør teamsamarbejde og state locking for at forhindre samtidige ændringer.

Terraform-moduler er genanvendelige infrastrukturkomponenter. Et modul til en webapplikation kan inkludere load balancer, auto-scaling group, database og DNS-records. Moduler publiceres i Terraform Registry eller private registries og versioneres som enhver anden pakke.

Avancerede features inkluderer workspaces til at administrere multiple miljøer, data sources til at referere eksisterende ressourcer, provisioners til konfiguration efter oprettelse, og dynamic blocks til at generere gentagne konfigurationsblokke. Terraform Cloud tilføjer governance, cost estimation og policy-as-code via Sentinel.

video // Terraform Tutorial for begyndere