Ansible, Inc. (originally AnsibleWorks, Inc.) was the company founded in 2013 by Michael DeHaan, Red Hat acquired Ansible in October 2015.
It is an open-source IT automation tool that automates configuration management, provisioning, application deployment and many other manual IT processes.
We can use Ansible to automate software installation and infrastructure provisioning. We can also use it to automate daily tasks, patch multiple servers, improve security and compliance. Ansible can automate IT environments whether they are hosted on bare metal servers, virtualization platforms, or in the cloud. It can also automate the configuration of a wide range of systems and devices such as databases, storage devices, networks, firewalls, and many others.
How ansible works?
In Ansible, there are two categories of computers: the control node and managed nodes. The control node is a computer that runs Ansible. There must be at least one control node, although a backup control node may also exist. A managed node is any device being managed by the control node.
Ansible works by connecting to nodes (clients, servers, or whatever you're configuring) on a network, and then sending a small program called an Ansible module to that node. Ansible executes these modules over SSH and removes them when finished. The only requirement for this interaction is that your Ansible control node has login access to the managed nodes. SSH keys are the most common way to provide access, but other forms of authentication are also supported. There are no additional servers, daemons, or databases required. Typically you'll work with your favorite terminal program, a text editor, and a version control system to keep track of changes to your content.
Why Ansible?
The main reason why Ansible is popular amongst the developers is because of it's simplicity. There are lots of other matured automation tools available including Puppet, Chef, etc., however Ansible is very easy to learn compared to these. Ansible is using YAML, a simple configuration language. On other hand Puppet and Chef uses Ruby which is difficult to learn compared to YAML.
Another reason why Ansible is so popular is because it's agentless. That is, instead of having to install an agent on every system you want to manage (as you have to do with Puppet and Chef), Ansible just requires that systems have Python (on Linux servers) or PowerShell (on Windows servers) and SSH.
Ansible Playbooks -
While modules provide the means of accomplishing a task, the way you use them is through an Ansible playbook. A playbook is a configuration file written in YAML that provides instructions for what needs to be done in order to bring a managed node into the desired state. Playbooks are meant to be simple, human-readable, and self-documenting. A playbook can be run on a system at any time without having a negative effect upon it. If a playbook is run on a system that's already properly configured and in its desired state, then that system should still be properly configured after a playbook runs.
With this, let's conclude this post here.
Thank you for reading !
*** Explore | Share | Grow ***
Commentaires