Pulumi IaC

Infrastructure as Code

Define, deploy, and manage cloud infrastructure using programming languages you already know. Pulumi is free, open source, and supports 170+ cloud and SaaS providers including AWS, Azure, Google Cloud, and Kubernetes.

Infrastructure as Code
in Real Programming Languages

Looking for an infrastructure as code tool? Pulumi lets you define cloud infrastructure in Python, TypeScript, Go, C#, Java, or YAML — with full IDE support, testing, and package management. Deploy to 170+ providers including AWS, Azure, Google Cloud, and Kubernetes. Free and open source.

Trusted by innovative companies
"Pulumi supercharged our infrastructure team by helping us create reusable building blocks that developers can leverage to provision new resources and enforce organizational policies for logging, permissions, resource tagging, and security."

Igor Shapiro

Principal Engineer

Author in any language, deploy to any cloud

Pulumi Infrastructure as Code Engine

Stop learning DSLs. Author infrastructure as code using programming languages you already know — Python, TypeScript, Go, C#, Java, and YAML. Get auto-completion, type checking, and refactoring from your IDE. Deploy to 170+ providers.

import * as aws from "@pulumi/aws";
import * as awsx from "@pulumi/awsx";

const vpc = new awsx.ec2.Vpc("vpc");
const azs = await aws.getAvailabilityZones({ state: "available" });

const subnets = azs.names.map((az, i) =>
  new aws.ec2.Subnet(`subnet-${i}`, {
    vpcId: vpc.vpcId,
    cidrBlock: `10.0.${i}.0/24`,
    availabilityZone: az,
  })
);

Code faster with real languages

Write infrastructure in TypeScript, Python, Go, .NET, Java, and YAML. Use loops, conditionals, functions, and classes — not DSL workarounds.

Build on any cloud

Access the full breadth of services in AWS, Azure, GCP, and 170+ providers through a complete and consistent SDK interface.

Test and preview changes

Write unit tests with standard frameworks. Run integration tests against ephemeral infrastructure. Preview every change before deploying.

Build infrastructure faster with reusable components

Pulumi Packages

Build and reuse higher-level abstractions for cloud architectures with multi-language Pulumi Packages. Create a VPC component once, share it across your organization, and let every team deploy consistently. Real package managers, real versioning, real code reuse.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Create an S3 bucket for static hosting.
const bucket = new aws.s3.Bucket("my-site", {
    website: { indexDocument: "index.html" },
});

// Upload a file to the bucket.
const index = new aws.s3.BucketObject("index.html", {
    bucket: bucket.id,
    content: "<h1>Hello, Pulumi!</h1>",
    contentType: "text/html",
});

export const url = bucket.websiteEndpoint;

170+ cloud providers

Full API coverage for AWS, Azure, Google Cloud, Kubernetes, and 170+ more providers. Same-day updates when new services launch.

Reusable components

Build higher-level abstractions and share them as packages through npm, PyPI, NuGet, or Go modules. Real versioning, real dependency management.

AI-powered infrastructure

Generate Pulumi programs from natural language, or convert existing Terraform and CloudFormation with built-in migration tools.

Deliver infrastructure through software delivery pipelines

CI/CD Integrations

Version, review, test, and deploy infrastructure code through the same tools and processes used for your application code.

CI/CD Integrations

Version and review

Manage infrastructure code in Git and approve changes through pull requests.

Shift left

Get rapid feedback on your code with fast unit tests, and run integration tests against ephemeral infrastructure.

Continuous delivery

Integrate your CI/CD provider with Pulumi or use GitOps to manage Kubernetes clusters.

Trusted by thousands of companies

Pulumi’s Infrastructure as Code CLI and SDK is an open-source project that’s supported by an active community. We maintain a public roadmap and welcome feedback and contributions.

350,000+

Community members

4,000+

Companies in production

170+

Cloud and service integrations

Customers innovating with Pulumi Cloud

Developers reduced their time spent on maintenance by 50%.
Increased developers’ agility and speed through platform engineering.
Deployments up to 3x faster with Pulumi infrastructure automation.
Enabled developers to deploy across hybrid cloud environments.
Standardized infrastructure architectures with reusable components.
Built a multi-cloud, Kubernetes-based platform to standardize all deployments.