Pulumi Introduces One-Click Deployments

DETROIT — Some things should be simple, but sometimes it’s harder than it should be to get something up and running, Pulumi founder and CEO Joe Duffy said in introducing the company’s Deployments as a Service technology called Pulumi Deployments.
The technology enables users to spin up or update existing cloud applications and infrastructure instantly with a git commit, a click of a button in the Pulumi UI or a call to the new Pulumi Deployments REST API.
“The way this used to work was you’re running a program locally, and the Pulumi service would do identity, state and policy. It’s not actually running any compute in the Pulumi service, and that’s great. But a lot of customers want more control over where they’re running these things” Duffy said in an interview last week at KubeCon+CloudNativeCon North America.
“Sometimes you just want to get up and running and say, ‘Hey, I’ve got a git repo over there and when I check into it, please just deploy the changes.’ Or you want to go into the service and say, ‘Rotate my credentials’ and click the button. … So we added this new capability where now we can actually host the compute. For an analogy, it’s sort of like GitHub Actions, but for your Infrastructure as Code is one way of thinking about the architecture behind it.”
The new features include:
- Deployments REST API provides full control, interacting with server-side deployments hosted in Pulumi’s cloud.
- Automation API support connects rich libraries available in Pulumi’s supported languages. Automation API programs running on the client now can offload the execution of Infrastructure as Code (IaC) programs to Pulumi’s fully managed Deployments as a Service.
- Git push to deploy lets users connect a git repo and execute deployment on a given project path, as well as other GitOps workflows like pull request reviews.
- Click to Deploy enables deployment actions including updates, destroys and drift detection to be initiated straight from the Pulumi Service UI without needing to initiate actions from the CLI.
Showing this graphic of the architecture, Duffy explained that everything above the red dotted line is Pulumi before the launch of Deployments, and the new service depicted below.
“We’ve already had customers using the internal private beta build things like drift detection, automatic infrastructure reclamation … ephemeral environments, so during the pull request, opening up a completely new environment that can be tested, and then destroying it after code gets merged. There’s a lot of scenarios that this unlocks,” Duffy said.
The Automation API, released about a year ago, sits at the heart of Deployments. Automation API allows you to embed Pulumi within your application code, allowing you to create custom experiences on top tailored to your use case, as CTO Luke Hoban explains in a blog post.
The new Deployments REST API takes Automation API from the client-side only to a cloud-based service.
With Deployments, by connecting their GitHub repositories to Pulumi, developers can perform cloud application and infrastructure deployments by pushing code directly to their repos. The company is working to enhance support for GitLab, Bitbucket and other platforms soon.
It also has created a library of architecture templates that serve as the baseline blueprints for cloud architectures across AWS, Microsoft Azure, Google Cloud and Kubernetes. For instance, there’s best-practices architectures for things like a serverless architecture on Google Cloud or a container service on AWS. The templates let you define that project with a single command.
“Pulumi Deployments enables teams to take their code to the cloud faster by applying familiar git-based workflows to their infrastructure code,” Martin Woodward, vice president of developer relations at GitHub said.
One Approach, Many Languages
The Seattle-based company focuses on providing a single consistent approach to managing infrastructure using familiar programming languages.
In May, the company announced the Pulumi CrossCode translation technology that that enables development and operations teams to convert any infrastructure as code format to Pulumi and interoperate with all existing infrastructure managed by other IaC systems.
It also added support for Java and YAML to its stable of other languages including any Java Virtual Machine (JVM) language (Java, Scala, Clojure), .NET (C#, F#, PowerShell), Node.js (JavaScript, TypeScript), Go and Python.