How does Ansible differ from Puppet and Chef?
⚡
Quick Answer
Ansible is agentless (pushes over SSH), YAML-based, and uses a push model. Puppet is agent-based, uses its own declarative DSL, and pulls from a master. Chef is agent-based and uses a Ruby DSL.
Detailed Answer
Agentless Ansible is simple to start with — no software to install on targets — which drove its popularity, though it can be slower at very large scale. Puppet and Chef use long-running agents that pull desired state on a schedule, which suits large, always-on fleets. The push vs pull and agent vs agentless trade-offs are the crux of the comparison.
💡
Interview Tip
Frame it around agentless/push (Ansible) vs agent/pull (Puppet, Chef) and the operational trade-offs, not just the languages.
ansiblepuppetchef