Pulumi Fundamentals
Pulumi is an infrastructure-as-code tool that defines cloud resources with familiar programming languages. It evaluates your program, compares the desired resources with a stack's recorded state, and coordinates the changes through provider plugins.
itInfrastructure and operations | OpenSkills.info
Intro
Pulumi Fundamentals
Pulumi lets you define infrastructure in a programming language. You describe cloud resources as objects in TypeScript, Python, Go, C#, Java, or YAML. Pulumi runs that program, builds a resource graph, compares it with recorded state, and asks provider plugins to make the required changes.
The code looks imperative because it uses a general-purpose language. The result is still declarative. You describe the resources you want. Pulumi decides which create, read, update, and delete operations can bring the real infrastructure to that desired state.
Why Pulumi exists
Infrastructure as code gives infrastructure the same review and version-control workflow as application code. Pulumi adds familiar language features to that model:
- Functions and loops can remove repetition.
- Classes and packages can hold reusable abstractions.
- Type systems and editor tooling can catch some mistakes before deployment.
- Test frameworks can exercise infrastructure code.
- One program can connect resources from several providers.
This approach fits teams that want infrastructure definitions to share a language and toolchain with application code. It also adds responsibility. Your infrastructure program is executable software. Dependencies, runtime failures, package versions, and code complexity all need deliberate management.
The core mental model
Five parts work together:
- Program: your source code declares resources and their relationships.
- Engine: Pulumi runs the program and builds the desired resource graph.
- Provider: a plugin translates resource operations into calls to a cloud or software service.
- Stack: an isolated, configurable instance of the program.
- Backend: the service or storage location that coordinates updates and stores each stack's state.
The engine does not infer your intent from arbitrary cloud resources. It works from your program, the selected stack's configuration, and that stack's state.
Projects and stacks
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
