2 3 5 6 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Ansible

Ansible – is an open-source infrastructure automation tool (“Infrastructure as Code“) initially developed by Red Hat and enables software developers to use code and tackle the major challenges that come with infrastructure. Ansible has three major use cases or capabilities:

  1. Provisioning – Enabling software developers to provision infrastructure using Ansible, an example is creating virtual machines (VMs) or Hosts also known as “The Inventory” in Ansible
  2. Configuration Management – The ability to actually configure your infrastructure after you have provisioned it. Examples include installing services, starting services, installing OS patches etc.
  3. App Deployment – You can also use Ansible to deploy your applications and workloads into the VMs.

The key tenets of Ansible are:

  • Ansible is declarative in nature, meaning you define what you want rather than how to get to whatever it is that you need. For example the configuration management automation in Ansible is realized by defining a set of tasks using YAML which need to be executed on the VMs. This set of task is what is known as the “Ansible Playbook“.
  • Ansible is Agent-less, unlike a lot of other infrastructure automations tools, you don’t actually need to install an agent on the VMs that you provisioned. So, Ansible is able to take advantage of SSH-KEYs to actually directly go into those VMs and run the tasks assigned. For configuration management use-case, Ansible has a nice graphical interface and a set of APIs that enables you to run Ansible and to operationalize it across your organization and this flavor of Ansible is called AWX, or Ansible Tower.
  • Ansible is idempotent, meaning the tasks can be run multiple times without changing the initial intended results. This helps to avoid configuration-drift. For example if the role of a certain playbook is to install security updates on a VM, on the first run, the playbook will install these security updates, but if you run it the second time, the playbook will recognize that the task is already done and should return “nothing needs to be done”, but if there is a new security update, then the playbook will recognize that a new update needs to be installed and will perform the task accordingly.
  • Ansible is community drive. Ansible has a large community of developers contributing code to the Ansible repository also known as the “Ansible Galaxy“. These include modules, playbooks, tasks in the Ansible ecosystem. Chances are that whatever you are trying to automate in your project is already available in the Ansible Galaxy.

 

 

 

 

Related Entries

Spread the word: