This article is based on reporting originally published on devops.com, covering the Pulumi 1.0 release announcement.
What Is Pulumi?
Pulumi is an open-source infrastructure-as-code (IaC) platform that lets developers and DevOps engineers define, deploy, and manage cloud infrastructure using general-purpose programming languages — instead of domain-specific configuration languages or YAML files. With the release of Pulumi 1.0, the company marked a major milestone in its effort to bridge the gap between application development and cloud infrastructure management.
Pulumi CEO Joe Duffy positioned the 1.0 release as a solution to a persistent pain point in DevOps: the cognitive overhead of learning yet another tool or templating language just to deploy applications to the cloud.
Supported Languages and Platforms
Pulumi 1.0 supports writing infrastructure code in the following languages:
- JavaScript
- TypeScript
- Python
- Go
This means developers can use the same languages, toolchains, IDEs, linters, and testing frameworks they already rely on for application code — applying those skills directly to infrastructure provisioning and lifecycle management.
Target cloud platforms include AWS, Microsoft Azure, Google Cloud Platform, DigitalOcean, and others, enabling genuine multi-cloud automation from a single codebase.
SDK Interoperability: Terraform, CloudFormation, Helm, and More
One of the more pragmatic aspects of the Pulumi 1.0 release is its software development kit (SDK), which supports importing existing infrastructure definitions from other popular IaC tools, including:
- Terraform modules
- AWS CloudFormation templates
- Azure Resource Manager (ARM) templates
- Kubernetes manifests
- Helm charts
This interoperability lowers the migration barrier for teams with existing IaC investments. Rather than rewriting everything from scratch, teams can incrementally adopt Pulumi by wrapping or converting their current definitions.
CI/CD Integrations
Pulumi 1.0 includes native integrations with a broad range of CI/CD platforms, making it easier to embed infrastructure deployment directly into existing delivery pipelines:
- Azure DevOps
- AWS Code Services (CodePipeline, CodeBuild)
- CircleCI
- Codefresh
- GitHub Actions
- GitLab CI
- Google Cloud Build
- Jenkins
- Travis CI
In addition, Pulumi can be embedded within IDEs to provide statement completion, interactive documentation, and real-time error checking — capabilities that are standard in application development but have historically been absent from infrastructure tooling.
Security and DevSecOps Capabilities
Pulumi 1.0 introduced several features aimed at hardening cloud deployments and supporting DevSecOps practices:
Key Management
The Pulumi Key Management Service integrates with native key management tools from major providers:
- AWS Key Management Service (KMS)
- Azure Key Vault
- Google Cloud KMS
- HashiCorp Vault
Identity and Access Management
Role-based access controls (RBAC) are built in, with identity management integrations supporting:
- GitHub and GitLab
- Atlassian (Bitbucket/Jira)
- Microsoft Active Directory
- Okta
- Google Workspace (formerly G Suite)
Editions and Pricing Tiers
Pulumi 1.0 launched with three tiers:
- Community Edition (free): Aimed at individual developers managing their own cloud environments.
- Team Edition (commercial): Adds features for organizational collaboration and team-based workflows.
- Enterprise Edition: Includes advanced identity options, policy enforcement, additional controls, and self-hosting capabilities for organizations with strict compliance or data-residency requirements.
Why This Matters for DevOps Teams
The challenge Pulumi is addressing is real and widely felt. Most large organizations now operate across multiple cloud providers simultaneously, and managing that complexity requires dedicated expertise in each platform’s native tooling — CloudFormation for AWS, ARM templates for Azure, Deployment Manager for GCP, and so on. Each tool has its own syntax, quirks, and failure modes.
YAML-based configuration, while declarative and readable at small scales, becomes brittle and error-prone at enterprise scale. Misconfiguration is one of the leading causes of cloud security incidents, and verbose YAML is notoriously difficult to validate, test, and review with standard developer tooling.
Pulumi’s approach — expressing infrastructure in real programming languages — brings several concrete benefits:
- Reusability: Functions, classes, and modules can encapsulate infrastructure patterns and be shared across projects.
- Testability: Infrastructure logic can be unit-tested using standard testing frameworks (pytest, Jest, etc.).
- Type safety: TypeScript and Go provide compile-time checks that catch errors before deployment.
- IDE support: Autocompletion and inline documentation reduce the learning curve for new cloud services.
- Shift-left deployment: Developers can own deployment pipelines without handing off to a separate ops team.
Continuous Delivery: Still the Hard Part
While continuous integration (CI) is now broadly adopted, continuous delivery (CD) — actually getting code reliably into production — remains a stumbling block for many organizations. Infrastructure provisioning is often a bottleneck: either it requires manual intervention, or automated pipelines break in subtle ways that are hard to debug.
By giving developers the tools to define and deploy infrastructure in languages they already know, Pulumi aims to reduce that bottleneck. The underlying bet is that developer ownership of the full deployment pipeline — from code to running infrastructure — will increase deployment frequency and reliability without increasing risk.
That said, speed alone is not the goal. Deploying faster only creates value if deployments are also reliable and secure. Pulumi’s built-in policy enforcement, key management integrations, and RBAC features are intended to address the security side of that equation — ensuring that faster deployment doesn’t come at the cost of increased exposure.
Summary
Pulumi 1.0 represents a meaningful step in the evolution of infrastructure-as-code tooling. By replacing YAML and domain-specific languages with Python, TypeScript, Go, and JavaScript, it aligns infrastructure management more closely with modern software engineering practices. The broad CI/CD integrations, multi-cloud support, and security features make it a credible option for DevOps teams looking to reduce operational overhead and accelerate delivery pipelines across complex, multi-cloud environments.
For teams evaluating IaC tooling, Pulumi’s interoperability with Terraform, CloudFormation, and Helm lowers the risk of adoption — existing investments don’t have to be discarded to begin experimenting with the platform.