Ansible is an open source automation platform which is being developed by Redhat, it has a very large community of developers from simple users to huge organization. Ansible is an “infrastructure as Code” language, that means you can define and describe the state you want your infrastructure to be in with simple text file that can be managed and shared on a version control system.Ansible is a simple yaml based automation language that aims to make infrastructure management much more simple and maintainable. No more maintaining huge shell scripts that were written by some guy 2 years ago and now everyone is afraid of touching them! when we write our scripts in ansible we know that after a few years new eyes can look at them and understand the logic.
Even though ansible aimed for Devops and IT professionals it is a great tool for every developer to have in their belt. It is very simple to learn, can save a lot of google searching and helps avoiding complex env problems by applying best practices.
Simple:
Simpler is better. Ansible is designed so that its tools are simple to use and automation is simple to write and read. Ansible is very easy to read and understand even if you are a new developer that enters the team. There are no special coding skills needed to write and edit it, which help ensure that everyone understands what they do no black magic needed!.
Powerful:
Ansible has roles that can deploy large applications or configure existing infrastructure in a clear way and with very few lines of code, as well as ansible modules which wrap a set of complex commands with clear documentation and configuration.
No complex configuration needed:
Ansible doesn’t need to have specific software installed on the hosts it manages, it connects to them (usually with ssh) and manages them from the local machine so there is no agent or special software needed on the managed hosts.
Cross platform support:
Ansible provides agentless support for Linux, Windows, UNIX, network devices, a wide range of cloud providers, and container environments.
This as been a very short introduction because from now we will learn and see a lot of examples. If you are still unsure what is ansible and why do you need it I advise you to take at the following guide.