ansible/docs/comparisons.md
2012-03-05 21:38:12 -05:00

4.9 KiB

Comparisons

Confused about how Ansible fits in? Here's a comparison with some common tools.

Accuracy is important, so corrections are VERY welcome if we've got something wrong. For space reasons, we can't list everybody's favorite management tool.

Ansible mainly tries to be different in it's goals of minimalism, while also cutting across the categories of configuration management, deployment, and ad-hoc task firing.

It strives to be a super-easy to use app, requiring no daemons or databases, and having a super-simple configuration management language that takes minutes to learn.

Generally speaking, Ansible is answer to the question "why is the world's systems management software so complicated?" The code does not try to show off. It is an experiment in radical simplicity and encourages anyone to be able to easily contribute to it.

Ansible Puppet Chef Func Capistrano mCollective
Purpose Config, Deployment, Ad-Hoc Config, Deployment Config, Deployment Ad-Hoc Deployment Ad-Hoc
Inspirations Cobbler, Puppet, Func, Taboot cfengine puppet sysadmin SSH scripts sysadmin SSH scripts Func, puppet
Config Language Simple YAML format Custom DSL Ruby code None None None
Config Language Style Very simple Very rich, complex Very rich, complex None None None
Config Ordering Simply ordered, with notifiers Strict dependency DAG Simply ordered None Simply ordered None
Communication SSH push SSL pull or push trigger SSL pull or push trigger(?) SSL push SSH AMQP bus
Daemons Required? no yes yes yes no yes
Database Needed? no some features yes no no some features
Message Bus Required? no no yes no no yes
Inventory Features planned yes yes? some no no
Implemented In Python Ruby Ruby, Erlang Python Ruby Ruby
Extensible In Anything Ruby Ruby Python Ruby Ruby
Codebase Size Small Large Large Medium Medium Medium
Module Support Emerging Wide/Established Wide/Established Medium/Established Poor Medium/Established
Users Targeted Sysadmins, developers, QA, web admins Sysadmins Sysadmins, web admins Sysadmins, developers Web admins Sysadmins
Learning & Setup Curve Minimal High High Medium Medium Medium
Can Easily Build Applications On It Yes No No Yes No Yes?
Parallelism & Scaling Tech Fork/Merge Add Servers / Staged Commands / No Server Adding More Erlang Fork/Merge No Message Bus
Delegated Hierachies No No No Yes No Yes