Configuration managers¶
There are several configuration management tools that can help manage IT infrastructure, typically through automating configuration and deployment processes. Some popular options are Ansible and Puppet.
Although they can be complex to set up initially, they have a clear advantage in environments where scalability and consistency are important. Both of these tools are available from the Universe repository. This page will give a short overview of each of them, along with their suggested use cases.
Ansible¶
Ansible remains one of the most popular options due to its simplicity. It uses SSH to orchestrate nodes rather than through an installed agent. It is therefore most often used in cases where an agentless architecture is desired, or in small to medium-sized environments where the use of easy-to-write YAML playbooks can reduce the steepness of the initial learning curve, and requirements may be less complex.
Language: YAML (for playbooks) and Python.
Puppet¶
Puppet uses a client-server architecture; the
Puppet server (the “
Language: Puppet domain-specific language (DSL), based on Ruby.
Further reading¶
For a comparison of all open source configuration management software, refer to this Wikipedia table.