Terraform s HCL dominuje IaC. Pulumi umožňuje psát infrastrukturu v Pythonu, TypeScriptu, Go.
Terraform¶
resource “aws_instance” “web” { ami = “ami-12345” instance_type = “t3.micro” tags = { Name = “web-server” } }
- HCL — deklarativní DSL
- Obrovský ekosystém providerů
- State management (local/remote)
- Zralý, stabilní, velká komunita
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
- Plný programovací jazyk — loops, conditions, functions
- State management podobný Terraformu
- Menší komunita, ale roste
Srovnání¶
- Learning curve: Terraform jednodušší pro non-devs, Pulumi pro vývojáře
- Testování: Pulumi lepší (unit testy v jazyce)
- Ekosystém: Terraform větší
- Flexibility: Pulumi výrazně víc (plný jazyk)
Terraform pro většinu¶
Terraform je standard. Pulumi pokud chcete psát IaC v oblíbeném jazyce.