100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
DevOps

Pulumi

AdvancedTool2.4K learners

Pulumi is an infrastructure-as-code platform that lets developers define and provision cloud infrastructure using general-purpose programming languages like TypeScript, Python, Go, and C# instead of a proprietary DSL.

Definition

Pulumi is an infrastructure-as-code platform that lets developers define and provision cloud infrastructure using general-purpose programming languages like TypeScript, Python, Go, and C# instead of a proprietary DSL.

Overview

Pulumi takes a different approach from tools like Terraform, which use their own domain-specific configuration language (HCL); instead, infrastructure is defined in familiar programming languages, letting developers use loops, conditionals, functions, and existing package ecosystems to express infrastructure logic. This means teams can apply standard software engineering practices — unit testing, code review tooling, and shared libraries — directly to their infrastructure code. Under the hood, Pulumi still uses a declarative resource model and state management approach similar to Terraform: it computes a diff between the desired and actual infrastructure state and generates a plan of changes before applying them. It supports all major cloud providers, including AWS, Azure, and Google Cloud, as well as Kubernetes resources, through provider plugins analogous to Terraform's provider ecosystem. Pulumi is typically chosen by teams that want infrastructure-as-code to live in the same language and repository conventions as their application code, reducing context-switching between application logic and infrastructure definitions — a workflow especially appealing to teams already deep in TypeScript or Python codebases who find HCL's separate syntax and tooling to be extra overhead.

Key Features

  • Infrastructure defined in general-purpose languages: TypeScript, Python, Go, C#, Java
  • Declarative state management with plan-and-apply workflow, similar to Terraform
  • Support for all major cloud providers and Kubernetes
  • Reusable components built using standard programming abstractions
  • Built-in secrets management for sensitive configuration values
  • Policy-as-code (CrossGuard) for enforcing compliance rules on infrastructure
  • Pulumi Cloud for state storage, collaboration, and CI/CD integration

Use Cases

Provisioning cloud infrastructure using a team's existing programming language
Sharing infrastructure logic through reusable code libraries and packages
Applying unit tests and code review practices to infrastructure definitions
Managing multi-cloud deployments from a single codebase
Enforcing compliance and security policies as code across infrastructure
Replacing HCL-based Terraform configurations with general-purpose code

Frequently Asked Questions