byteNative
Cloud & DevOps

Terraform

Infrastructure as Code für reproduzierbare, versionierte Umgebungen.

Was ist Terraform?

Terraform beschreibt Infrastruktur als Code, sodass Server und Dienste versioniert, reproduzierbar und nachvollziehbar werden. Bevor eine Änderung tatsächlich angewendet wird, zeigt ein Plan genau, was passieren würde, und lässt sich wie jeder andere Code im Team prüfen. Terraform spricht dabei über Provider mit nahezu jeder Cloud und vielen weiteren Diensten, sodass du verschiedene Plattformen mit derselben Sprache verwaltest. Das nimmt dem Aufbau und Umbau von Umgebungen viel von seiner früheren Unsicherheit.

Mehr in der Dokumentation

Wofür wir es nutzen

Sobald deine Infrastruktur über ein, zwei handgeklickte Ressourcen hinausgeht, legen wir sie in Terraform ab. So können wir eine Staging-Umgebung als exakte Kopie der Produktion hochziehen und genauso sauber wieder abreißen. Änderungen laufen dann über denselben Review-Prozess wie der restliche Code, statt im Cloud-Dashboard zu verpuffen.

hcl
resource "aws_s3_bucket" "assets" {
  bucket = "my-project-assets"
}

resource "aws_s3_bucket_versioning" "assets" {
  bucket = aws_s3_bucket.assets.id
  versioning_configuration {
    status = "Enabled"
  }
}
einen s3-bucket deklarativ beschreiben

Gut zu wissen

Der Terraform-State ist das Herzstück und gehört in ein geteiltes Remote-Backend mit Locking, nicht auf einen einzelnen Rechner. Sonst überschreibt der nächste, der gleichzeitig anwendet, deine Änderungen, und der State weicht von der Realität ab.

00Cloud & DevOps

Weitere Werkzeuge, mit denen wir im selben Bereich arbeiten.

Welche Technologie passt zu dir?

Das musst du nicht entscheiden, das ist unser Job. Erzähl uns einfach von deinem Vorhaben.