Infrastructure as Code

Infrastructure as Code (IaC) is de aanpak waarbij infrastructuur — servers, netwerken, databases — wordt beschreven en beheerd via code in versiebeheersystemen, in plaats van handmatige configuratie via interfaces of commando's.

Voordelen

  • Reproduceerbaarheid — dezelfde omgeving elke keer op dezelfde manier opzetten
  • Versiebeheer — infrastructuurwijzigingen zijn traceerbaar in Git
  • Automatisering — geen handmatige stappen
  • Documentatie — de code beschrijft de gewenste toestand

Declaratief vs. imperatief

DeclaratiefImperatief
BeschrijftDe gewenste eindtoestandDe stappen om er te komen
IdempotentJaNiet altijd
VoorbeeldTerraformBash-scripts

Zie ook

  • ansible — configuratiebeheer als IaC
  • cicd — IaC in automatiseringspipelines
  • git — versiebeheer voor IaC-bestanden
  • idempotentie — kernprincipe van goede IaC
ictcicdbeheer