Introduction to Ansible and How Industries are solving their challenges and Usecases using Ansible.
By: Mangesh Ghorpade
Tags: Ansible, Industry

What is Ansible?

Ansible is an open-source automation tool, or platform, used for IT tasks such as configuration management, application deployment, intra service orchestration, and provisioning. Automation is crucial these days, with IT environments that are too complex and often need to scale too quickly for system administrators and developers to keep up if they had to do everything manually.

History of Ansible

The term “ansible” was coined by Ursula K. Le Guin in her 1966 novel Rocannon’s World, and refers to fictional instantaneous communication systems.

The Ansible tool was developed by Michael DeHaan, the author of the provisioning server application Cobbler and co-author of the Fedora Unified Network Controller (Func) framework for remote administration.

Ansible, Inc. (originally AnsibleWorks, Inc.) was the company set up to commercially support and sponsor Ansible.Red Hat acquired Ansible in October 2015.

Ansible loves the repetitive work

your people hate

No one likes repetitive tasks. With Ansible, IT admins can begin automating away the drudgery from their daily tasks. Automation frees admins up to focus on efforts that help deliver more value to the business by speeding time to application delivery, and building on a culture of success. Ultimately, Ansible gives teams the one thing they can never get enough of: time. Allowing smart people to focus on smart things.

Ansible is a simple automation language that can perfectly describe an IT application infrastructure. It’s easy-to-learn, self-documenting, and doesn’t require a grad-level computer science degree to read. Automation shouldn’t be more complex than the tasks it’s replacing.

Why Ansible?

Ansible is an Agentless tool that means we don’t need to install it on the managed node just installed on the controller node and start working with ansible. Ansible is a very intelligent tool and its intelligence comes from modules. As an IT Admin, we don’t have to remember all OS commands just tell which package you wanna install and ansible will do that thing for you!

What is the playbook file?

Playbooks are the files where the Ansible code is written. Playbooks are written in YAML format. YAML stands for Yet Another Markup Language. Playbooks are one of the core features of Ansible and tell Ansible what to execute. They are like a to-do list for Ansible that contains a list of tasks.

Playbooks contain the steps which the user wants to execute on a particular machine. Playbooks are run sequentially. Playbooks are the building blocks for all the use cases of Ansible.

Important Terms in Ansible

These are the few important terms using in Ansible —

Controller Node: This is where Ansible gets installed. The controller machine helps in enabling provisioning on servers we manage.

This is where Ansible gets installed. The controller machine helps in enabling provisioning on servers we manage. Managed Node: This is nodes where the task is executed by the controller node.

This is nodes where the task is executed by the controller node. Inventory: This is basically an initializing file that contains information about the servers that we are managing.

This is basically an initializing file that contains information about the servers that we are managing. Modules: These are little programs that act as building blocks encapsulating common tasks such as using yum to install packages or ping to test the connection to a remote host.

These are little programs that act as building blocks encapsulating common tasks such as using yum to install packages or ping to test the connection to a remote host. Playbook: It is an organized unit of scripts defining an automated work for the configuration management of our server.

It is an organized unit of scripts defining an automated work for the configuration management of our server. Task: A task block defines a single procedure to be executed on the server like installing packages.

Ansible Workflow

As the services increase, sysadmins will provision more servers to do configuration management. They need to install Ansible on the master node where they need to write the code into the Ansible playbook to describe the setup, installation process, and the configuration required for these servers. The local machine connects to these servers (nodes) through an inventory using secured SSH connections. Once these nodes are connected to the master server, then the node servers are analyzed and the playbook codes are pushed toward each of the servers so that these playbooks can configure the servers remotely, which leads to a consistent environment.

Benefits of Using Ansible

Agentless: As long as a connection can be SSHed and it has Python, it can be configured with Ansible; no agent/software or additional firewall ports are required to install on our client or host systems for automation. Also, we don’t have to worry about setting up and managing the infrastructure.

As long as a connection can be SSHed and it has Python, it can be configured with Ansible; no agent/software or additional firewall ports are required to install on our client or host systems for automation. Also, we don’t have to worry about setting up and managing the infrastructure. Simple: As we’ve seen, Ansible uses a very simple syntax written in YAML known as playbooks — YAML (Yet Another Markup Language) is a human-readable data serialization language. We don’t need special coding skills to code and understand playbooks. It is very easy to install and execute tasks in order.

As we’ve seen, Ansible uses a very simple syntax written in YAML known as playbooks — YAML (Yet Another Markup Language) is a human-readable data serialization language. We don’t need special coding skills to code and understand playbooks. It is very easy to install and execute tasks in order. Modular: Ansible is modular as we require only one program per script. This way, we can spread our programs across different servers.

Ansible is modular as we require only one program per script. This way, we can spread our programs across different servers. Efficient: Not requiring any extra software on our servers means that there is more space for our resources.

Not requiring any extra software on our servers means that there is more space for our resources. Powerful and flexible: Having powerful features gives us the capability to model even complex IT workflows in lesser time, along with managing infrastructure, networks, operating systems, and services that are already in use.

INTEGRATION:

Ansible AND WWT(World Wide Technology)

WWT Saves Time and Money Using Ansible Automation

By adopting Ansible automation, WWT IT is no longer asking themselves if they should automate; they’re asking what should they automate next?

How does Ansible benefit an IT organization?

The internal IT department of World Wide Technology (WWT) was looking for ways to automate mundane processes, save engineering hours and give IT staff time to do what they do best: innovate.

After onboarding Ansible, automations executed through ServiceNow surged. IT is no longer asking themselves if they should automate; they’re asking what should they automate next?

Not only is Ansible automation saving WWT time and money, but it’s allowing IT to get closer to the business. IT operations is spending more time on strategic initiatives related to Cisco ACI and F5.

Cisco Ansible Automation Lab

Solution Overview

To keep up with the growing speed of business demands, there’s a pressing need to make programmability and automation an inherent part of operational IT processes. WWT offers hands-on Ansible Automation Training labs to help customers learn how to get started using centralized automation tools to manage and deploy configurations.

F5 Ansible Automation Training Lab

Solution Overview

To keep up with the growing speed of business demands, there’s a pressing need to make programmability and automation inherent parts of operational IT processes. WWT offers hands-on Ansible Automation Training labs to help customers learn how to get started using centralized automation tools to manage and deploy configurations.

World Wide Technology provides technology solutions for large enterprises and public agencies around the world. Our goal is to help customers use cutting-edge technology to realize business outcomes, and IT automation is a big part of that. Our relationship with Ansible is very strong. Our engineers have spoken to AnsibleFest and regularly contribute to Ansible meetups as well as the Ansible open source project.

The Problem:

They had three different reasons they looked at Ansible originally. One was to remove non-value-add work that’s wrapped around user management, things of that nature. The second thing looked at from an Ansible perspective or automation perspective was we were starting a Cisco ACI journey. How do we deploy Cisco ACI in a way that was consistent and reliable and we trusted? The last one was, how to make our engineers’ lives better? Our engineers do a lot of work that’s again, non-value-add, but takes time from them.

The Fix:

So originally before they had Ansible, they had a number of different configuration management tools to do some level of automation. The other thing we had a lot of was engineers having their own scripts, their own methodologies for running their own automations, but it was very siloed, so an engineer may have one automation, another engineer may have another automation. There wasn’t a lot of sharing.

BENEFITS ACHIEVED BY USING ANSIBLE:

One of the things that Ansible has really allowed us to do is develop a common language of ground IT that works for people of all skillsets. For people that are more experts in the operation specific details of their jobs, they can continue to work at a very high level with the abstractions that Ansible already has in place. By contrast though, if we really need to dig under the hood and do something as a power user, Ansible still relies on common tools like Python and PowerShell that people can still get into.

One of the things that Ansible has really allowed to do is develop a common language of ground IT that works for people of all skillsets. For people that are more experts in the operation specific details of their jobs, they can continue to work at a very high level with the abstractions that Ansible already has in place. By contrast though, we really need to dig under the hood and do something as a power user, Ansible still relies on common tools like Python and PowerShell that people can still get into.

One of the things realized when we started using Ansible is not just the cost of what we are doing, but the opportunity cost of what we were leaving on the table. Now that we’ve started automating away the mundane, we’re able to move the organization forward working on initiatives like Cisco ACI, and so some innovative routing things with F5 and other technologies that really leave our organization on the cutting edge.

Because Ansible is so accessible, everybody is now speaking that common tongue when they go to automate their stuff and they’re able to build more things in more impressive ways because they have so many more skillsets.