Infrastructure as Code (IaC)
Håndtering og provisionering af infrastruktur gennem maskinlæsbare konfigurationsfiler.
Infrastructure as Code (IaC) er praksis, hvor infrastruktur defineres, provisioneres og administreres via kode i stedet for manuelle processer. Det betyder at servere, netværk, databaser og andre ressourcer beskrives i konfigurationsfiler, der kan versionsstyres, testes og genbruges.
IaC løser et fundamentalt problem i IT-drift: konfigurationsdrift. Når infrastruktur opsættes manuelt, opstår der over tid uforklarlige forskelle mellem miljøer. Det klassiske "det virker på min maskine"-problem. Med IaC er infrastrukturen deklarativ og reproducerbar. Et miljø kan genskabes identisk fra scratch på minutter.
To hovedtilgange dominerer IaC-landskabet. Deklarativ IaC (som Terraform og CloudFormation) beskriver den ønskede sluttilstand, og værktøjet beregner de nødvendige ændringer. Imperativ IaC (som Ansible og Chef) beskriver de specifikke trin, der skal udføres. Mange teams bruger en kombination af begge.
Terraform fra HashiCorp er blevet de facto-standarden for cloud-infrastruktur. Det understøtter alle store cloud-udbydere og tusindvis af services via providers. Terraform bruger HCL (HashiCorp Configuration Language) til at beskrive ressourcer og deres relationer. State management sikrer, at Terraform ved hvad der allerede eksisterer.
IaC muliggør også drift-detection, cost estimation, compliance-as-code og policy enforcement. Organisationer kan definere sikkerhedsregler som kode og automatisk blokere infrastrukturændringer, der overtræder policies. Det er et paradigmeskift fra reaktiv til proaktiv infrastrukturstyring.