Learn Provisioning / Automation & Configuration

Technology Guide

Pulumi

License: Apache-2.0

Pulumi Logo

Field Guide

Complete Guide

Pulumi is an Infrastructure as Code tool that lets you define cloud resources in real programming languages — TypeScript, JavaScript, Python, Go, C#, F#, Java, and YAML — instead of a DSL like HCL. It was founded in 2017 by Joe Duffy and colleagues from Microsoft.

Under the hood, a Pulumi program constructs a resource graph by instantiating provider-backed classes. That graph is diffed against a state file during pulumi up, which then calls into provider plugins to create, update, or delete actual cloud resources. Many of Pulumi’s providers are bridged from Terraform providers, so day-one coverage of AWS, Azure, GCP, Kubernetes, and thousands of other services matches Terraform’s, while native providers for AWS, Azure, Google Cloud, and Kubernetes are generated directly from the upstream API specifications for same-day support of new resources. State is stored in a backend — Pulumi Cloud by default, or S3/GCS/Azure Blob/local filesystem.

Because programs are normal code, Pulumi supports real abstractions (functions, classes, packages on npm/PyPI), unit testing with standard frameworks, and imperative logic like loops and conditionals without templating. Higher-level features include Component Resources for reusable abstractions, Stacks for environment isolation, Pulumi ESC for secrets and configuration, CrossGuard for policy-as-code written in TS/Python, and the Automation API for embedding Pulumi into other programs. It is Apache-2.0 licensed with a commercial SaaS for team state, RBAC, and CI/CD orchestration.

Community

Join the conversation

No articles found for Pulumi yet. Check back soon!