Over the last few months, I’ve begun to work with Ansible and have really begun to love it. Ansible is an open-source project owned by RedHat. It is designed to make configuration management for a single system or even an entire enterprise super easy to take care of.
The basics of how it works is that you have playbooks that describes your environment. A playbook consists of multiple tasks which are essentially individual steps that have to be completed to get your environment to a desired state, or roles which are a series of tasks that are designed to complete an overarching goal (i.e. install/configure an Apache webserver). The whole idea is that you design the environment once, and you’re able to implement as many times as you like with really the push of the button.
Ansible is fairly straight forward to use, but since it’s based on Python, a working knowledge of Python is helpful. My biggest complaint about Ansible is that the documentation is lacking in many places. So with that in mind, expect to see more posts coming up in the future that describes my lessons learned as I go through it.