4 ms·
Puppet is declarative, Ansible is procedural. You may find Puppet obtuse if all you want is one time provisioning of new hosts. Sometimes you do care about pro
by closeparen 7y ago
Puppet is declarative, Ansible is procedural.
You may find Puppet obtuse if all you want is one time provisioning of new hosts. Sometimes you do care about procedural concerns like execution order, and in Puppet you have some influence (e.g. dependency relationships) but not direct control.
You may find Ansible backs you into corners with long lived mutable infrastructure. Configurations may drift, and your ability to run a playbook may depend on the sequence of playbooks previously run on the target. Ansible doesn’t really have a notion of converging on a goal state; it’s closer to scripting. You can have a single idempotent playbook that you run every time, but it’s not opinionated about that.