Terraform mit HCL dominiert IaC. Pulumi ermöglicht es, Infrastruktur in Python, TypeScript und Go zu schreiben.
Terraform¶
resource “aws_instance” “web” { ami = “ami-12345” instance_type = “t3.micro” tags = { Name = “web-server” } }
- HCL — deklarative DSL
- Riesiges Ökosystem an Providern
- State Management (lokal/remote)
- Ausgereift, stabil, große Community
Pulumi¶
import pulumi_aws as aws server = aws.ec2.Instance(‘web’, ami=’ami-12345’, instance_type=’t3.micro’, tags={‘Name’: ‘web-server’} )
- Python, TypeScript, Go, C#, Java
- Vollständige Programmiersprache — Schleifen, Bedingungen, Funktionen
- State Management ähnlich wie Terraform
- Kleinere Community, aber wachsend
Vergleich¶
- Lernkurve: Terraform einfacher für Nicht-Entwickler, Pulumi für Entwickler
- Testen: Pulumi besser (Unit-Tests in der Sprache)
- Ökosystem: Terraform größer
- Flexibilität: Pulumi deutlich mehr (vollständige Sprache)
Terraform für die meisten Fälle¶
Terraform ist der Standard. Pulumi wenn Sie IaC in Ihrer bevorzugten Sprache schreiben möchten.