Want to learn about running containers in Lambda? Join our free hands-on workshop. Register Now

Architecture & Concepts

Pulumi is a modern infrastructure as code platform. It includes a CLI, runtime, libraries, and a hosted service that, working together, deliver a robust way of provisioning, updating, and managing cloud infrastructure. Instead of YAML or a domain-specific language (DSL), Pulumi leverages existing, familiar programming languages, including TypeScript, JavaScript, Python, Go, and .NET, and their native tools, libraries, and package managers.

This section will teach you the core concepts behind Pulumi, including how to author your Pulumi programs, the CLI you will use to deploy those programs, how projects (and their related concept, “stacks”) help you to organize your environments, and how Pulumi works under the hood.

If this is your first time using Pulumi, you likely want to begin with the Getting Started guide for your cloud of choice. It will walk you through an AWS, Azure, GCP, or Kubernetes deployment from start to finish.

The following topics describe the core concepts behind Pulumi in more detail:

Programming Model

The core concepts you will use when authoring your Pulumi programs.


Pulumi's way of organizing your infrastructure as code projects.


Pulumi's fundamental unit of partitioning, configuring, and scaling environments.

Configuration and Secrets

How to configure stacks, including storing secret encrypted settings.

Organizing Projects

Best practices for organizing your Pulumi programs.

How Pulumi Works

A peek under the hood to learn more about how Pulumi performs deployments.

State and Backends

An overview of how Pulumi stores state and manages concurrency.

After learning these core concepts, you’ll want to learn more about the CLI.