Puppet is a configuration management system built around a compiled catalogue. An agent on each node wakes on a schedule, sends its facts to the Puppet Server, receives a catalogue — a dependency-resolved graph of the resources that node is supposed to have — enforces it locally and posts back a report of what it changed. For a team that inherited an estate rather than built it, the report is as valuable as the enforcement: it is a continuous, machine-generated statement of what state was applied, on which host, at which time, and that is a far stronger position in front of an auditor than a spreadsheet of intentions.
Most of the Puppet you meet in a long-lived estate is not the language, it is the layout. Code lives in a control repository whose branches map to environments and which a code-deployment tool renders onto the server; modules come from the public forge or an internal source, pinned in a Puppetfile; and the manifests themselves should hold almost no data, because environment- and node-specific values belong in Hiera, resolved through a layered hierarchy keyed on facts and node group. Roles and profiles give classification a stable interface, so a node is assigned exactly one role and everything else follows from data.
Around that sit the parts that break first and are documented least. The certificate authority decides whether an agent is trusted at all. Environment isolation matters the moment two environments disagree about a custom type. PuppetDB holds facts, reports and exported resources. PDK, puppet-lint and rspec-puppet exist so a change can be proved before it converges on thousands of nodes, and Puppet Enterprise adds console classification, role-based access control, orchestration with Bolt for imperative work a catalogue cannot express, and the reporting that turns enforcement into evidence.
Why this skill matters now
Pune's Puppet estates are inherited, large and audited, and that combination sets the whole training brief. The banking, insurance and telecom-adjacent captives around Kharadi, Yerwada and Magarpatta chose continuous enforcement deliberately: a node that drifts overnight is corrected on the next run and the report proves the correction happened. Nobody replaces that lightly, so the engineers who arrive on those teams do not need to be sold configuration management — they need to be able to read a control repository written by people who have left, and to say with confidence why a particular resource appeared in a particular node's catalogue.
That pushes the valuable skills toward data and structure rather than syntax. Hiera hierarchies that answer lookups predictably, roles and profiles imposed on classification that grew by accretion, module upgrades proved with tests before they converge on a fleet, and environments that have quietly diverged brought back together. Windows makes it harder: a large share of the managed estate here is Windows Server, where the agent, the resource providers and the certificate story all behave differently from the Linux examples in most documentation.
The third driver is the coexistence question. Almost every Pune team running Puppet also runs a push-based tool, and the architecture forum wants a written boundary rather than a preference — the enforced baseline and its evidence on one side, sequenced orchestration and one-off remediation on the other. Local roles that name Puppet usually name compliance reporting or a migration assessment in the same paragraph.