There are many configuration and automation tools exist and one of them is called Ansible. It began as an opens source project and expanded with a commercial support. It’s considered a newcomer compared to its counterparts like chef and puppet. However, it gained a favorable reputation amongst DevOps professionals, mainly because of its straightforward operation and simple management capabilities.
If you are still wondering as to what configuration and automation tool you should choose, the consider using Ansible. Why?
Some of the main reasons to consider using Ansible are:
- Easy to learn and use
- Its playbooks (the configuration, deployment, orchestration language) are human readable/understandable
- Can achieve results in a shorter time period.
We’re going in-depth to understand some of the reasons why you should consider using Ansible. Let’s begin.
Simple and Easy to Learn
This is probably one of the best features of Ansible – easy to learn and simple. Its users can easily get up and running, even if they started using it from scratch. It has a clear and easy to follow documentation which allows one to learn it in a short amount of time.
In addition to that, it runs tasks sequentially and stops when it encounters an error, which makes troubleshooting easier.
It’s written in python, unlike most of its competitors that were built using Ruby. That feature makes it easier to get up and running in most Linux distros as they come with Python preinstalled. In addition to that, Python is more popular to engineers and system administrators compared to Ruby.
Ansible modules (used to extend its functionality) can be written using any language as long as it returns data in JSON format.
Ansible uses standard SSH to handle all master-client communication which makes it agentless. Or it uses Paramiko module, a python implementation of SSH. That means you don’t need to install agents on remotely managed systems leading to less maintenance overhead and performance degradation.
Playbooks are YAML Based
Playbooks, like what we’ve learned earlier, are Ansible’s configuration files. They are written in YAML, which is a better fit for configuration management if compared to JSON as it is easier to read and supports comments.
This is a repository that servers as a portal for finding, reusing and sharing Ansible related contents. Things included are reusable roles for server configuration, application installation and many more. They can be downloaded for use in your playbook which significantly lessens deployment time.
Therefore, Ansible is a beginner friendly tool that will help you get up and running quickly if you need help in managing multiple remote servers and systems. It’s easy to learn and use and there are plenty of ansible tutorial online that can help you get started?