I know Puppet from (limited) experience and have noticed that in configuration management there is now a strong trend towards Ansible.
On the one hand, I understand that Ansible does not require an agent, because it makes intelligent use of
On the other hand, these are features have come to like about Puppet:
- access to system-wide configuration state and history (PuppetDB) via REST API
- ability to keep backups of overwritten files (filebuckets)
- ability to encrypt part of the Hiera configurations (
Among these, PuppetDB seems to me the most important and useful (e.g. for integration with other tools). Therefore my question is this: Does Ansible have something akin to PuppetDB, i.e. a component that offers an API where it could e.g. be asked "What packages are installed on host x?" or "On which hosts is package y installed?"
(This question was migrated over from StackOverflow).
UPDATE Significant downside of Puppet it my experience so far: Not so much the fact that it requires an agent (from what I have seen, Ansible's use of Python also introduces an agent of sorts in the form of a Python interpreter ;-), but that it wants its agent to act as
root only and always.