Pulumi 3.270.0 介绍与选型指南
Pulumi 3.270.0 介绍与选型指南:官方资料溯源的多语言基础设施即代码平台,详解 Engine/Provider/State 架构、编程语言 IaC 与 Pulumi Cloud 双轨、许可证沿革(MPL 2.0→Apache-2.0),以及与 Terraform、OpenTofu、CloudFormation 的量化选型对比。
Pulumi 3.270.0 介绍与选型指南
目标:基于官方公开资料(官网、官方文档站、GitHub 发行页)溯源介绍 Pulumi CLI 3.270.0 并给出同类选型对比;本文不做本地安装与运行实测,所有版本与社区数据实查日期为 2026-10-19。
一、信息基准
1.1 查询说明
- 查询日期:2026-10-19。
- 信息获取方式:纯官方资料溯源(pulumi.com 官网、官方文档站、GitHub 官方仓库 pulumi/pulumi 发行页),本文不做本地安装与运行实测。
- 版本结论:本次介绍的版本为 Pulumi CLI 3.270.0(2026-10-16 发布),是 3.x 线当前最新版本;10 月内已连续发布 3.268.0(2026-10-07)与 3.270.0,minor 号高频滚动。
1.2 版本依据
| 项目 | 实查结果(2026-10-19) | 来源 |
|---|---|---|
| 最新版本 | v3.270.0(2026-10-16) | github.com/pulumi/pulumi/releases |
| 近期版本 | v3.268.0(2026-10-07) | 同上 |
| 代码仓库 | pulumi/pulumi(主语言 Go) | github.com/pulumi/pulumi |
| 开源许可 | Apache License 2.0(CLI 与 SDK) | 仓库 LICENSE(GitHub 实查);官方 What is Pulumi 页 |
| GitHub stars | 26k | shields.io 徽章接口实查 |
| 商业服务 | Pulumi Cloud(Free/Essentials/Pro/Enterprise 套餐) | pulumi.com/what-is/what-is-pulumi/ |
| 许可沿革 | 早期以 MPL-2.0 发布,2023 年调整为 Apache-2.0;2023-08 HashiCorp 将 Terraform 转为 BUSL 后官方博客重申 Pulumi 纯开源立场 | 仓库许可历史;pulumi.com/blog/pulumi-hearts-opensource |
1.3 官方来源清单
二、软件概述
本文介绍的是 Pulumi CLI 3.270.0(开源核心,2026-10-16 发布)。
Pulumi 是一个「用熟悉编程语言写基础设施」的 IaC(基础设施即代码)与密钥管理平台:开发者用 TypeScript/JavaScript、Python、Go、.NET 等通用语言(以及 YAML)声明云资源,由 Pulumi Engine 计算差异并执行部署,状态(State)与密钥可存放在 Pulumi Cloud 托管服务或自托管后端(官方 What is Pulumi 页)。与 HCL 类声明式 DSL 不同,Pulumi 将 IaC 融入通用语言的类型系统、工具链与测试生态,这是其最核心的差异化定位。
项目由 Pulumi 公司主导,CLI/SDK 开源(Apache-2.0),可选接入商业托管 Pulumi Cloud(个人免费,团队按套餐付费)。GitHub 上拥有 26k stars(2026-10-19 实查),3.x 线以约每周 1-2 个 minor/patch 的节奏高频滚动(10 月内已发 3.268.0 与 3.270.0)。本站 Pulumi 专栏既有安装与 Stack 管理文档可配合阅读。
三、核心架构
3.1 Engine 与语言运行时
- Pulumi CLI/Engine:Go 实现的编排引擎,负责解析程序、与 Provider 通信、计算 diff 并执行变更。
- 语言 SDK 运行时:用户程序运行在 Node.js/Python/Go/.NET 运行时中,向 Engine 注册资源期望状态。
- Automation API:以库形式将 Engine 嵌入应用代码,适合平台工程团队封装自研发布工具(3.268.0 发行说明为 NodeJS/Python/Go 的 Automation API 增补 version/whoami/install 接口)。
3.2 核心对象
| 对象 | 说明 |
|---|---|
| Project(Pulumi.yaml) | 项目声明:运行时语言、主程序路径等 |
| Stack(Pulumi.<stack>.yaml) | 环境实例(dev/staging/prod)与差异化配置 |
| Resource | 云资源抽象,由 Provider 提供 CRUD 实现 |
| Provider | 对接 AWS/Azure/GCP/Kubernetes 等的桥接组件 |
| State | 资源实际状态的账本,存于 Pulumi Cloud 或自托管后端 |
| Secret/ESC | 加密密文与集中式密钥/配置管理 |
3.3 状态与协作
State 记录资源映射与依赖,Pulumi Cloud 在其上提供托管状态、RBAC、审计日志与策略(Policy Pack)执行;自托管形态支持对象存储/数据库后端(官方文档 Concepts)。
四、功能特性
4.1 多语言 IaC
用通用语言获得类型检查、IDE 补全、单元测试与包管理生态;官方对比文档将此列为其相对 HCL 工具的首要优势(pulumi.com/docs/iac/comparisons/terraform/)。
4.2 引擎能力
3.270.0 修复 pulumi env 系列命令的并发覆写问题与 pulumi stack drift status 未知状态报告;3.268.0 为 Invoke 协商 OutputValues(SDK 可传递依赖值)、改进 refresh/update 场景下的资产状态恢复(官方发行说明),可见引擎在类型协商与状态一致性上持续增强。
4.3 平台化配套
Pulumi Cloud 提供托管状态/密钥、Web 控制台与 CI/CD 集成;Pulumi ESC(Environments, Secrets and Configuration)提供集中配置管理;策略即代码(CrossGuard)支持合规校验(官方 What is Pulumi 与 Get started 页)。
4.4 许可与开源口径
CLI/SDK 以 Apache-2.0 发布(仓库 LICENSE 实查);官方对比页明确以「是否真开源」作为与 BUSL 化的 Terraform 的分界。许可证沿革方面:Pulumi 早期仓库许可为 MPL-2.0,2023 年调整为 Apache-2.0;同年 HashiCorp 将 Terraform 改为 BUSL 引发社区争议并催生 OpenTofu 分支(行业同时出现 FSL 等新型源可用许可),Pulumi 官方博客《Pulumi Loves Open Source》重申其使用 Apache-2.0 且不依赖 BSL 软件。
五、快速上手
以下路径转述自官方 Get started 文档,本文不做本地实测。
5.1 安装
官方 Download & install 页(https://www.pulumi.com/docs/iac/download-install/ )提供各平台安装方式(脚本、包管理器、二进制)。
5.2 首个 AWS 项目(官方 Get Started AWS 路径)
pulumi new aws-python # 从模板创建项目(含 Pulumi.yaml 与程序骨架)
pulumi config set aws:region us-west-2
pulumi up # 预览并执行首次部署
pulumi destroy # 释放资源
官方 AWS Get started 指南(https://www.pulumi.com/docs/clouds/aws/get-started/ )逐节演示安装 CLI、配置 AWS 凭证并运行第一次 update;Azure/GCP/Kubernetes 各有对应入口(Get started 页列出全部路径)。
5.3 状态与协作
默认引导接入 Pulumi Cloud(个人免费)托管 State 与 Secret;自托管后端可切换(官方 Concepts 文档)。
六、适用场景与限制
6.1 适用场景
- 团队具备较强软件工程能力,希望用通用语言+测试框架治理 IaC。
- 多云与 Kubernetes 混合基础设施,追求 Provider 覆盖与抽象组件复用。
- 平台工程需要将部署能力嵌入自研工具(Automation API)。
- 需要托管 State/Secret/策略与审计(Pulumi Cloud)或自托管灵活后端。
6.2 限制与注意事项
- 版本滚动极快(3.268→3.270 仅隔 9 天),生产环境需固定版本并关注发行说明。
- 生态重心为 Pulumi 公司维护的 Provider 与模板;存量 HCL 资产迁移需评估官方转换工具。
- State 管理选择托管 Cloud 时涉及数据出域合规评估;自托管则自行承担可用性。
- 社区规模与 Terraform 尚有差距(stars 26k vs 50k,2026-10-19 实查),招聘与资料检索面需纳入考量。
七、同类选型对比
7.1 候选概览
| 工具 | 定位 | 开源许可 |
|---|---|---|
| Pulumi 3.270.0 | 多语言 IaC 平台(CLI/SDK 开源 + 托管 Cloud) | Apache-2.0 |
| Terraform 1.16 | HCL 声明式 IaC 事实标准 | BUSL-1.1(2023-08 起由 MPL-2.0 变更) |
| OpenTofu 1.13 | Terraform 开源分支(Linux 基金会) | MPL-2.0 |
| AWS CloudFormation | AWS 原生托管 IaC 服务 | AWS 托管服务(无独立开源仓库) |
7.2 量化对比(2026-10-19 实查)
| 维度 | Pulumi 3.270.0 | Terraform 1.16.6 | OpenTofu 1.13.1 | CloudFormation |
|---|---|---|---|---|
| 开源许可 | Apache-2.0 | BUSL-1.1 | MPL-2.0 | 商业服务条款 |
| GitHub stars | 26k(pulumi/pulumi) | 50k(hashicorp/terraform) | 31k(opentofu/opentofu) | 不适用 |
| 最近发版 | 3.270.0(2026-10-16) | v1.16.6(2026-10-14);1.17.0-rc2(2026-10-14) | v1.13.1(2026-10-01);1.12.8 维护版(2026-10-14) | 持续托管更新(AWS 控制台/文档) |
| 版本节奏 | minor/patch 高频(周级) | 季度 minor + 补丁,双线维护(1.16/1.17-rc) | 季度 minor + LTS 补丁双线(1.12/1.13) | 服务化,无版本节奏概念 |
| 语言 | TS/Python/Go/.NET/YAML | HCL | HCL | JSON/YAML 模板 |
| 生态与注册表 | Pulumi Registry(Provider 丰富) | Terraform Registry 最大 | 兼容 Terraform Provider 生态 | AWS 原生资源 + Registry(第三方) |
| 状态后端 | Pulumi Cloud/自托管 | HCP Terraform/本地/对象存储 | 自托管/合作后端 | AWS 托管(Stack 状态由服务管理) |
| 测试能力 | 通用语言测试框架 + Assert 类库 | 原生 test 块(HCL 内) | 继承 Terraform 测试能力 | CloudFormation Guard 等 |
(stars/发版取自 shields.io 徽章接口与各仓库 Releases Atom 实查;许可信息据各仓库 LICENSE 与 pulumi.com 官方对比文档;CloudFormation 为 AWS 托管服务故无 stars/版本号。)
7.3 选型建议
追求工程化(类型、单测、复用抽象)与多语言团队体验的选 Pulumi,且其 Apache-2.0 许可对商业化集成最友好;已重度投资 HCL 模块与 Registry 生态的团队若接受 BUSL 许可可继续 Terraform(参见本站 《Terraform 常用 CLI 命令与工具详解》),介意许可风险的则以 OpenTofu 承接存量 HCL;单云深耕 AWS、希望服务化免运维且不介意模板表达力的,CloudFormation 仍是最低集成成本的官方选项(参见本站 《AWS CloudFormation 介绍与选型指南》)。
八、参考链接
- 官方站点:https://www.pulumi.com/
- Get started:https://www.pulumi.com/docs/iac/get-started/
- 源码仓库:https://github.com/pulumi/pulumi
- 3.270.0 发行页:https://github.com/pulumi/pulumi/releases/tag/v3.270.0
- 官方开源声明博客:https://www.pulumi.com/blog/pulumi-hearts-opensource/
- 官方 Terraform 对比:https://www.pulumi.com/docs/iac/comparisons/terraform/
- OpenTofu 仓库:https://github.com/opentofu/opentofu
- HashiCorp Terraform 仓库:https://github.com/hashicorp/terraform