openskills.info
Pulumi Fundamentals logoCourse Preview

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

Don't Panic — Pulumi Fundamentals

Pulumi is infrastructure as code wearing a programmer's coat. You write a program that describes resources, and it works out which cloud or software-service changes would make those resources real. This is less mysterious than it sounds. It is also more consequential than a loop that prints a greeting.

The machinery has five cooperating characters. The program declares the desired resources. The engine runs it and builds a graph. A provider turns graph operations into service API calls. A stack is one separately configured deployment, such as development or production. The backend keeps the stack's state, which is the memory linking declarations to real resources. It is a filing cabinet with opinions.

The important trick is the Output. A resource can produce a value, such as an ID, only after deployment. Passing that output into another resource's input tells Pulumi both what value will be needed and which resource must come first. Do not wrestle it into an ordinary string during program evaluation. It is an eventual value carrying dependency information, not a string that has been late for a meeting.

The normal ritual is deliberately boring: edit the program or stack configuration, run pulumi preview, read the proposed creates, updates, replacements, and deletes, then run pulumi up when they match the intended change. Preview changes no stack, but it is a review boundary rather than a promise. Provider behavior, permissions, unknown values, and changes made elsewhere can still alter the outcome.

State deserves respect without becoming the star of the show. Your program is the design; state connects it to the infrastructure already managed. pulumi refresh reads provider values into that record, but it does not repair the program. If an external change is meant to remain, update the program as well, or a later update may loyally restore its older declaration. Computers are very good at carrying out the last instruction they were given.

The surprise is that names have lifecycle consequences. A logical name contributes to a resource's URN, so a refactor can look like delete-and-create unless an alias preserves identity. Components also help and complicate matters: they package related resources behind inputs and outputs, but the child resources still exist and their previews still need reading.

Read the introduction for the full map of programs, providers, stacks, state, secrets, and lifecycle controls. Use the slides for the relationships at a glance, the cheatsheet for the operational anchors and commands, and the exercise to make two local stacks before any real provider gets involved.

Where this skill leads

Relevant careers

See how this topic contributes to broader role-level skill maps.

Sources