This document compares Puppet and Ansible configuration management tools. It summarizes that Puppet requires installing an agent on clients, while Ansible uses SSH and does not require installing software. Puppet uses its own domain-specific language while Ansible uses YAML, which is considered more human-readable. Overall Puppet has a larger ecosystem and more experienced users while Ansible is newer and has opportunities to learn from other tools' mistakes.