Pulumi · Infrastructure as Code

Pulumi IaC

用真实编程语言管理云基础设施——告别 HCL,用 Python / TypeScript / Go 的完整语言能力构建基础设施

🐍 Python
📘 TypeScript
🐹 Go
🔷 C#
Java
真实编程语言
多云统一管理
免费状态托管
IDE 全功能支持
10核心章节
5支持语言
150+云 Provider

为什么选择 Pulumi 而不是 Terraform?

Terraform 用 HCL(HashiCorp Configuration Language)来描述基础设施——HCL 是一种专用配置语言,虽然简单易学,但功能有限:复杂的循环逻辑难以表达,缺乏真正的抽象机制,无法使用你熟悉的测试框架,更无法将基础设施逻辑封装成普通的函数或类。当基础设施规模增长时,HCL 代码往往变得难以维护。

Pulumi 的思路截然不同:它让你用真实的编程语言(Python、TypeScript、Go、C#、Java)编写基础设施代码。这意味着你可以使用 for 循环批量创建资源、用函数封装重复逻辑、用类继承建立资源层次、用 pytestjest 编写单元测试——所有软件工程的最佳实践都可以直接应用到基础设施代码中。

同时,Pulumi 提供免费的 Pulumi Cloud 托管状态,无需自建 S3 + DynamoDB 来存储状态文件,大幅降低入门门槛。

核心特性

用编程语言的力量驾驭云基础设施

💻

真实编程语言

Python/TypeScript/Go/C# 的完整能力:循环、条件、函数、类、模块化——IaC 终于可以像普通代码一样组织。

🔤

类型安全

TypeScript 强类型 Input<T>/Output<T>,IDE 自动补全所有资源属性,编译时发现错误而非运行时。

☁️

多云统一

同一套语言管理 AWS、GCP、Azure、Kubernetes、Cloudflare 等 150+ Provider,无需学习多套工具。

🗂️

免费状态托管

Pulumi Cloud 免费提供状态存储、团队协作、秘密加密,无需自建 S3/DynamoDB 后端。

🧪

可测试

用 pytest/jest/go test 编写单元测试 mock 资源,用集成测试验证真实部署——这是 HCL 做不到的。

🤖

Automation API

在代码中编程驱动 Pulumi(无需 CLI),构建自定义部署平台、自动扩缩容工具。

课程目录

系统掌握 Pulumi,从入门到生产级实践

Chapter 01

Pulumi 简介与快速入门

IaC 回顾与 HCL 局限性、Pulumi 核心优势、与 Terraform/CDK 对比、安装 CLI、第一次 pulumi up、核心名词解释。

IaC安装入门
Chapter 02

核心概念:Resource、Output 与资源选项

Resource 创建模式、Output<T> 异步引用值、apply() 变换、资源选项 dependsOn/protect、ComponentResource、Dynamic Provider。

ResourceOutputComponent
Chapter 03

TypeScript 实战:类型安全的 IaC

@pulumi/aws 安装配置、TypeScript 强类型资源属性、Input<T>/Output<T>、pulumi.all() 合并、实战 VPC+EC2+安全组网络架构。

TypeScriptAWSVPC
Chapter 04

Python 实战:循环与动态资源编排

pulumi_aws Python SDK、资源命名惯例、Output apply()、for 循环动态创建、字典配置模式、实战 Python 创建 EKS 集群。

PythonEKS动态资源
Chapter 05

Stack 与多环境配置管理

Stack 环境隔离(dev/staging/prod)、stack init/select、pulumi config set/secret 加密、Stack Reference 跨环境引用共享输出。

Stack多环境Config
Chapter 06

AWS 云资源实战大全

EC2/VPC/S3/RDS/Lambda/EKS 全覆盖,实战三层 Web 架构(ALB + EC2 + RDS),掌握 AWS 主流资源的 Pulumi 写法。

AWSEC2RDS
Chapter 07

Kubernetes 资源管理

@pulumi/kubernetes SDK、部署 Deployment/Service/Ingress/ConfigMap/Secret、Helm Chart、Kustomize、与 EKS/GKE/AKS 集成。

KubernetesHelmEKS
Chapter 08

组件化、模块化与 Automation API

ComponentResource 封装复用、Module 跨项目共享(npm/PyPI)、Pulumi Registry、Automation API 编程驱动 Pulumi。

ComponentResourceAutomation API模块化
Chapter 09

State 管理与 CI/CD 集成

Pulumi Cloud vs Self-Hosted 后端、pulumi refresh/import、GitHub Actions 集成、PR Preview 预览变更、secrets 加密方案。

StateGitHub ActionsCI/CD
Chapter 10

测试、CrossGuard 策略与最佳实践

单元测试 mock 资源、集成测试真实部署、CrossGuard 合规策略、从 Terraform 迁移、项目结构与命名最佳实践。

测试CrossGuard迁移