Terraform

Terraform is ‘Infrastructure as Code‘ (IaC) en is tegenwoordig de #1 om een infrastructuur te maken met Terraform scripts, bestanden met een extensie ‘.tf’. Terraform is gemaakt door Hashicorp en is open-source en te downloaden voor verschillende platformen via https://www.terraform.io/downloads.

Terraform gebruikt zogenaamde ‘providers‘ die via API communiceren met o.a. Cloud-Services om daar de benodigde ‘resources‘ in te beheren.

De code wordt geschreven in .tf-bestanden en middels een ‘terraform apply‘ commando worden via de bewuste API de resources aangemaakt, gewijzigd of verwijderd.

Hierna wordt met behulp van een ‘state-file’ de ‘desired state’ bewaakt.

Bron: terraform.io

Er is ook een ‘Terraform Cloud‘ beschikbaar via https://app.terraform.io voor teams die samenwerken aan Terraform code en hiermee kan ook via Version Control commits (Git..b) de infrastructuur beheerd worden.

Wil je wel de mogelijkheden van Terraform Cloud maar niet extern in een cloud-dienst werken, er is ook een ‘Terraform Enterprise‘ waarmee Terraform lokaal gebruikt kan worden als ‘self-hosted’ oplossing.