2. Pulumi Basics

Pulumi

Pulumi is an open-source Infrastructure as Code platform that lets you define, deploy, and manage cloud resources using general-purpose programming languages instead of proprietary configuration formats.

Language Support

Pulumi supports a wide range of languages out of the box:

LanguageRuntime
Python3.8+
TypeScript / JavaScriptNode.js
Go1.21+
C# / F# / VB.NET 6+
JavaJDK 11+
YAML(declarative, no runtime required)

In this workshop we use Python — it is widely known, has excellent Pulumi SDK coverage, and pairs naturally with the Azure Native provider.

Core Concepts

ConceptDescription
ProjectA directory with a Pulumi.yaml that defines the program
StackAn isolated deployment target (e.g. dev, staging, prod)
ResourceAny cloud object managed by Pulumi (VM, VNet, AKS cluster, …)
ProviderPlugin that translates Pulumi calls into cloud-API calls
StateSnapshot of deployed resources; stored in Pulumi Cloud or a backend of your choice

Getting Started

Python SDK

Registry

Azure Provider

Community