Back to Infrastructure as Code

Pulumi

Modern IaC platform using familiar programming languages (TypeScript, Python, Go, C#) instead of DSL.

Pulumi is a modern Infrastructure as Code platform that lets you define cloud infrastructure using general-purpose programming languages like TypeScript, Python, Go, and C# instead of a domain-specific language. This enables using loops, functions, and existing package ecosystems within infrastructure code. Pulumi supports all major cloud providers, offers state management, secrets handling, and automation API for embedding infrastructure provisioning in applications.

4.5/5 (640 reviews) Free for individual, Team $200/user/year, Enterprise custom

Features

Drift Detection

Detect and report manual changes outside of IaC

Pulumi refresh and drift detection via preview

Kubernetes-Native

Built on Kubernetes CRDs for native K8s experience

Not K8s-native, but strong K8s provider support

Module/Package Registry

Reusable infrastructure components managed via registry

Pulumi Registry with packages for each language

Multi-Cloud Support

Provision infrastructure across AWS, Azure, GCP and others

AWS, Azure, GCP, Kubernetes, and 100+ providers

Policy as Code

Define and enforce infrastructure policies programmatically

CrossGuard policy as code with policy packs

Preview/Plan

Preview infrastructure changes before applying them

pulumi preview with detailed diff output

Programming Languages

Use general-purpose languages instead of DSL

TypeScript, Python, Go, C#, Java, YAML

Secret Management

Handle sensitive values like passwords and API keys

Encrypted configuration with Pulumi ESC

State Management

Track and manage infrastructure state over time

Managed (Pulumi Cloud) or self-managed state

Team Collaboration

Multi-user support with RBAC and audit logs

Pulumi Cloud with stacks, RBAC, team collaboration

Related Links