Harness the full power of Infrastructure as Code
Pulumi Automation API exposes the full power of infrastructure as code through a programmatic interface, instead of through CLI commands. Automation API lets you use the Pulumi engine as an SDK, enabling you to create software that can create, update, configure, and destroy infrastructure dynamically. This enables you to build custom cloud interfaces that are tailored to your team, organization, or customers.
The benefits of using Automation API
Programmatic Infrastructure as Code
Use the Pulumi engine as a strongly typed SDK in your application code, enabling it to call functions that can provision and configure infrastructure on any cloud.
Scale the distribution of best practices
Codify best practices for cloud infrastructure within custom applications or tools that allow your organization’s developers to easily provision and use approved infrastructure.
Build abstractions and custom interfaces
Automation API enables you to build custom cloud interfaces for your technical end users. For example, build self-service developer portals, CLIs, frameworks, and CI/CD workflows.
Manage single-tenant deployments at scale
Easily build high-scale, SaaS applications that serve customers with single-tenant instances. Automate creating and managing infrastructure for thousands of unique customers.
Use Cases
Self-service infrastructure
Single-tenant SaaS instances
Workflow Orchestration
Custom Infrastructure Tooling
Self-service infrastructure
Overview
Build developer portals and self-serve platforms that make it easier for your development teams to use cloud infrastructure. Infrastructure and security teams can scale their best practices by creating declarative infrastructure and exposing it behind a REST, gRPC, or Custom Resource API that developers and operators can easily consume, without needing to understand every underlying resource.
Examples
Pulumipus’ Self-Service Web App Platform
This is a self-service interface for creating customized static sites, databases, virtual machines, and more. The code is open source and available on GitHub.
Python IaC in your Jupyter notebook
Use Pulumi’s Python SDK with Automation API to create infrastructure interactively from a Jupyter notebook. Examples are available on GitHub.
SANS Institute provides cybersecurity training and certification. It used Pulumi Automation API to build a self-service platform that enables instructors to provision virtual learning environments using an automated process.
Single-tenant SaaS instances
Overview
Simplify the management of multi-instance SaaS architectures where you need single-tenant infrastructure for each customer. You can create declarative infrastructure defined by your best practices and expose it behind a REST, gRPC, or Custom Resource API that can be consumed by your applications.
Examples
Cockroach Labs provides the CockroachDB database-as-a-service. It uses Pulumi Automation API to manage Kubernetes clusters behind the scenes on behalf of their customers.
Infrastructure Workflow Orchestration
Overview
Manage complicated infrastructure tasks like database migrations, microservice deployments, schema migrations, and more. Distributed systems and microservices incur a significant coordination burden, and dependencies across API boundaries are difficult to track and maintain. With the Automation API, you can use a strongly typed, familiar programming environment to orchestrate multi-stack deployments, codify dependencies, and enable safe incremental deployment.
Examples
Database Migration
This example provisions an AWS Aurora SQL database and executes a database "migration" using the resulting connection info. The code is available on GitHub in Go, Node.js, Python, and .NET.
Multi-Stack Orchestration
This example shows how to use Automation API to tame the complexity of multiple stacks with dependent stack outputs. The code is available on GitHub.
The Automation API allowed Lemonade further automate its deployment process. For example: customizing runners for multi-step provisioning, automating recovery for well-known errors like fixing state for interrupted jobs and managing approvals for sensitive operations like deleting old resources.
Custom Infrastructure Tooling
Overview
Build user-friendly infrastructure tooling such as CLIs, higher-level frameworks, CI/CD workflows, and even desktop apps. Infrastructure teams can use Automation API to build self-service tools for building, deploying, and managing infrastructure and offer the right levels of complexity and customization for the tool’s target audience.
Examples
Ploy, a CLI in Go
Ploy is a Heroku-like interface for deploying Docker images to a Kubernetes cluster. Ploy combines Pulumi with a Go CLI using Promptui. It is open source on GitHub.
Pulumi GitHub Action for CI/CD
Pulumi’s GitHub Action is powered by Automation API and it gives you complete control over Pulumi in your CI/CD workflows. Learn how it was created or see the code on GitHub.
Automation API powers custom infrastructure platforms for organizations like Mercedes-Benz Research & Development North America. These platforms empower their teams to stand up the cloud infrastructure that they need and when they need it.
Leading engineering organizations are building with Pulumi
Leading engineering organizations are building with Pulumi
More Examples
Visit our GitHub repository to see more end-to-end examples of how you can use Automation API.
View on GitHubWorkshop
Watch as we build a self-service infrastructure platform with Python and Flask with the Automation API
Join nowGet started today
To get started with Pulumi Automation API, visit the user guide in our documentation.