Pulumi 是一个开源工具,用于配置和管理云基础架构和资源。
概览
Pulumi是一个基础架构即代码的自动化工具,它是构建在Terraform工具基础上的。它与Terraform的重要区别在于:您可以用熟悉的编程语言来编写声明式配置,而不需要额外学习厂商特定的模板语言来写配置。Pulumi是个可扩展的工具,通过 Provider 来支持新的基础架构。Pulumi提供了客户端,能够让您轻松定义、预览和部署云基础结构。您可以使用Pulumi来创建、修改、删除ECS、VPC、RDS、SLB等多种资源。Pulumi还提供一个可视化的控制台,通过控制台您可以方便的查看每个堆栈的配置版本历史、活动、关联资源和设置。
阿里云是中国第一家与 Pulumi 集成的云厂商,pulumi-alicloud目前覆盖计算、存储、网络、负载均衡、CDN、容器服务、中间件、访问控制、数据库等41款产品,已经满足了大量大客户的自动化上云需求。Pulumi基于Terraform构建,因此具备和Terraform一样多的云资源支持。
Pulumi支持的语言:TypeScript、JavaScript、Python、Go(预览版)、C#(预览版)。
优势
- 混合云支持
开发运维人员可以使用同一个工具来管理、部署云资源、OpenStack资源及Kubernetes集群。
- 多语言支持
支持常用的编程语言来编写声明式配置,而不需要额外学习厂商特定的模板语言。
- 声明式编程
Pulumi以可重复、可预测的方式定义、预配和配置资源,减少因人为因素导致的部署和管理错误。声明式编程让您只需要关心最终的资源状态和无需关心过程。能够使用同一配置,创建相同的环境。
- 基础架构即代码(Infrastructure as Code)
可以用代码来管理维护资源。允许保存基础设施状态,从而使您能够跟踪对系统(基础设施即代码)中不同组件所做的更改,并与其他人共享这些配置。
- 利用成熟的IDE支持开发
Pulumi采用成熟的编程语言来进行配置,因此您能更方便地利用IDE的语法高亮、语法检测和测试功能。
- 统一工具
您可以使用同一种语言工具进行资源的自动化管理和应用开发。例如您可以通过Pulumi Python 创建数据库资源,并用Python语言创建数据库表等操作。