PulumiUP: Hear from technical leaders as they present the vision for the future of cloud engineering. Save Your Spot

Cloud Engineering for AWS

Pulumi's infrastructure as code SDK helps create, deploy, and manage your AWS infrastructure, including containers, serverless functions, and other infrastructure using modern programming languages.

Trusted by top engineering teams

Snowflake Tableau Software Mercedes-Benz Research and Development MindBody National Institutes of Health

Read our customer use cases

Enable Everyone To Do Everything

The Automation API gives you the ability to build bespoke deployment tools that allow application developers to self-serve their infrastructure, using codified best practices. No two applications or environments are the same and you can quickly hit edges with tools trying to be one-size-fits-all solution. The Automation API enables you to write tooling that fits your use cases and works exactly the way you want it to. Everything from complex workflow orchestration to opinionated full-stack application frameworks is possible with the Automation API.

Learn More About Automation API

func NewAddCmd() *cobra.Command {
    return &cobra.Command{
        Use:   "add",
        Short: "add deploys an additional vm stack",
        Run: func(cmd *cobra.Command, args []string) {
            stackName := fmt.Sprintf("vmgr%d", rangeIn(10000000, 99999999))
            s, err := auto.NewStackInlineSource(ctx, stackName, projectName, nil)
            subnetID, rgName, err := EnsureNetwork(ctx, projectName)
            stack.SetProgram(GetDeployVMFunc(subnetID, rgName))
            stdoutStreamer := optup.ProgressStreams(os.Stdout)

            res, err := s.Up(ctx, stdoutStreamer)
            if err != nil {
                fmt.Printf("Failed to deploy vm stack: %v\n", err)
                os.Exit(1)
            }
            fmt.Printf("deployed server running at public IP %s\n", res.Outputs["ip"].Value)
        },
    }
}
import * as eks from "@pulumi/eks";

// Create an EKS cluster with the default configuration.
const cluster = new eks.Cluster("my-cluster", {
    desiredCapacity: 5,
    minSize: 3,
    maxSize: 5,
    deployDashboard: false,
    enabledClusterLogTypes: [
        "api",
        "audit",
        "authenticator",
    ],
});

// Export the cluster's kubeconfig.
export const kubeconfig = cluster.kubeconfig;

AWS Crosswalk

Pulumi Crosswalk for AWS is a collection of libraries that use automatic well-architected best practices to make common infrastructure-as-code tasks in AWS easier and more secure. Secure and cost-conscious defaults are chosen so that simple programs automatically use best practices for the underlying infrastructure, enabling better productivity with confidence.

Application and Infrastructure Together

Crosswalk enables you to blur the lines between application and infrastructure code enabling you to author an entire full-stack application in one program. With support for inline Lambda functions and ease-of-use helper functions, building robust applications on AWS has never been easier.

Learn More About Crosswalk

WATCH A WORKSHOP

Begin Your Pulumi Adventure

Start from scratch

If you are new to Pulumi our Getting Started Guides are the place for you. In these guides you will learn the fundamentals of Pulumi while deploying some simple cloud infrastructure.

Get started

Import an existing resource

For people who are already managing infrastructure with a different tool or directly in the cloud's console, we have created adoption guides for incrementally adopting Pulumi.

Read the guide

Clone an example

We have created 150+ examples for you to choose from as a way for you to quickly get started with Pulumi. You can deploy them as-is or use an example as a base for your own project.

View the examples

Convert Terraform

If you are already using Terraform to manage your infrastructure, we have built a tool for you to see what your HCL would look like in TypeScript, Python, C#, and Go.

Try tf2pulumi

Learn how top engineering teams are using Pulumi's SDK to create, deploy, and manage AWS resources.

We are building a distributed-database-as-a-service product that runs on Kubernetes clusters across multiple public clouds including GCP, AWS and others. Pulumi's declarative model, the support for real programming languages, and the uniform workflow on any cloud make our SRE team much more efficient.

Josh Imhoff
Site Reliability Engineer, Cockroach Labs

Need help with cloud-native infrastructure as code on AWS?