When comparing Ansible vs RUDDER, the Slant community recommends Ansible for most people. In the question“What are the best configuration management tools?” Ansible is ranked 2nd while RUDDER is ranked 3rd. The most important reason people chose Ansible is:
Ansible does not use agents. Instead, all master-agent communications are handled via SSH commands or through the Paramiko module which provides a Python interface to SSH.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Agentless
Ansible does not use agents. Instead, all master-agent communications are handled via SSH commands or through the Paramiko module which provides a Python interface to SSH.
Pro Gentle learning curve
Ansible is agentless, making it quick and painless to setup. Ansible has clear and detailed documentation and provides plenty of built-in modules. Its DSL is obtained using YAML and a familiar template system.
Pro Simple tasks can be run from the command line
Some simple tasks such as triggering updates or reboots, or even checking if the service is running can be done without configuration files. These commands can be run from the command line instead.
Pro Support for major cloud providers
Ansible supports managing major cloud devices (AWS, RackSpace, Digital Ocean, OpenStack) through a collection of modules which are available.
Pro Extensible in any language / runtime
Although you may need to preinstall favorite programming environment, Ansible modules are accessed via shell calls and therefore any executable on the remote system built for use with Ansible may be used as an Ansible module.
Pro Web UI
Ansible has a Web UI in the form of AnsibleWorks AWX which unfortunately does not tie directly into the CLI. So configuration elements present in the CLI can not appear in the UI unless a sync pass is run. Although the Web UI is helpful and functional, it's still not as complete feature-wise as the CLI.
Pro Easy to customize
Ansible is very easy to customize. It doesn't force you to use a language with which you are unfamiliar. Instead, all commands are packaged into YAML modules which are called playbooks. So as long as you use a programming language that can output JSON, you are able to customize it.
Pro Rich diff
Modules that support rich diffs can expose nearly every detail of what will change. However not all core modules support diffs, so there may still be some opaque chances made.
Pro Creating reusable components is simple
Making roles modular and reusable is a fast process with Ansible.
Pro Continuous configuration - dedicated to production
Rudder checks every rule that has been set up to keep it compliant over time. It is a tool made to be used in production. It's not a dev tool where there is no continuity constraint.
Pro Web UI + CLI + API
There is 3 ways to use Rudder. The biggest surprise is that everything that can be done with code is also possible with the web interface, without knowing anything about development or automation, generally speaking.
Pro Light agent developed in C - up to 10 000 nodes
The agent has nearly no impact concerning resources and that is the reason why Rudder is able to manage thousands of servers without any performance issues.
Pro Codeless user interface with built-in template library and editor
Non-expert users can define parameters in a central interface, and Rudder will automatically make sure that IT services are installed, configured, running and in good health. All actions (checks, warnings, fixed errors…) are reported upon immediately in the user interface, keeping drift from nominal behaviour low.
Pro Free and open source
Apart the agent on proprietary OS (AIX, Windows, ...) , Rudder is an open source and free software. This means that the code source is available on Github for every part of Rudder (Rudder webapp, and every other Normation repository). This also means that packages for a wide range of distributions are released and available to download freely.
Pro Running on Linux, Windows, AIX, Solaris, Android...
Rudder can manage quite everything. So far only HP-UX and iOS don't have their own agent version, but everything else is available already.
Cons
Con Slow
Compared to other tools, Ansible requires more time to complete the same actions.
Con Somewhat weak documentation
Ansible is still relatively new, as far as server automation tools go. This is the reason that many users have found it's documentation lacking in some parts. Although this is mitigated by the fact that it's very easy to learn to use.
Con Too easy to move the port in the crappy scripts you've been using for years
If you have an extensive codebase of scripts, your users might find it too easy to just port in the same unsupportable crappy scripts they've been using for years.
Con Doesn't have its own inventory system
Ansible really depends on you to provide it a list of nodes to run on and doesn't actively maintain a central inventory
Con No Python API available, despite the fact that Ansible is written in Python
Despite being written and taking good advantage of the python environment, Ansible offers no python api for programming, and does not make it possible to follow best practices for writing custom Ansible modules.
Con Community growing but not very big at this day
There is more and more people getting involved in the Rudder community, but it's nothing compared to Puppet community so far.
Con Not a one-shot deployment tool
Rudder is overkill if the goal is only to push one-time actions. Thankully, a plugin is available to connect Rudder with Ansible and enhance its capability.