What is Puppet?

Puppet is a declarative, model-based approach to IT automation, helping you manage infrastructure throughout its lifecycle, from provisioning and configuration to orchestration and reporting. Using Puppet, you can easily automate repetitive tasks, quickly deploy critical applications, and proactively manage change, scaling from 10s of servers to 1000s, on-premise or in the cloud.

Puppet is available as both open source and commercial software. You can see the differences here and decide which is right for your organization.

How Puppet Works

  1. Define the desired state of the infrastructure's configuration using Puppet's declarative configuration language.
  2. Simulate configuration changes before enforcing them.
  3. Enforce the deployed desired state automatically, correcting any configuration drift.
  4. Report on the differences between actual and desired states and any changes made enforcing the desired state.

Define Reusable Configuration Modules

To define your infrastructure's desired state, you can select from over 2,000 pre-built, freely downloadable configuration modules in the Puppet Forge, Puppet Labs' online marketplace. Alternatively, if you have special requirements you can build a custom module using Puppet's configuration language. Once defined, you can reuse these configurations across physical, virtual, and cloud environments as well as across operating systems. Moreover, you can combine configuration modules to create complete application configuration stacks that share common configurations.

Enforce Desired State

After you deploy your configuration modules, the Puppet Agent on each node communicates regularly with the Puppet Master server to automatically enforce the desired states of the nodes.

  1. The Puppet Agent on the node sends Facts, or data about its state, to the Puppet Master server.
  2. Using the Facts, the Puppet Master server compiles a Catalog, or detailed data about how the node should be configured, and sends this back to the Puppet Agent.
  3. After making any changes to return to the desired state (or, in "no-op mode," simply simulating these changes), the Puppet Agent sends a complete Report back to the Puppet Master.
  4. The Reports are fully accessible via open APIs for integration with other IT systems.

Learn More

Download Free Now