痛点
运维团队用 Terraform 管理基础设施已是标配,但随着规模增长,HCL 的局限性越来越明显:
- 逻辑表达力不足 —
count、for_each、dynamic嵌套三层以上可读性断崖式下跌 - 测试困难 — HCL 没有原生单元测试,
terratest要写 Go 代码,跨语言维护成本高 - 复用靠 Module — 复杂参数传递像在写配置的配置,Module 嵌套深了跟 YAML Hell 没区别
- 团队门槛 — 运维会 Python/Go,但不一定愿意学一门只用在 IaC 的 DSL
Pulumi 的思路很直接:用你已经会的编程语言(Python/Go/TypeScript/J...