Puppet (2005) and Chef (2009) defined the IaC era a decade before "DevOps" was a hashtag. Both run agents on every node that pull from a central server and reconcile the host to a declared model. Less fashionable now, but still running massive enterprise fleets.
← Back to DevOps & CI/CD| Aspect | Puppet | Chef |
|---|---|---|
| Language | Declarative DSL (Puppet code) | Ruby DSL (recipes); imperative-ish |
| Server | Puppetserver (compiles catalogs) | Chef Infra Server (stores cookbooks) |
| Agent | Puppet agent on each node | chef-client on each node |
| Model | Declares desired state; agent compiles + applies | Runs an ordered convergence |
| Best fit | Large fleets needing strong type system & reporting | Teams comfortable in Ruby; complex bespoke logic |