How industries are solving challenges using Ansible — Use Cases Solved by Ansible in IT Industry
This article is intended to give a brief introduction to Ansible and show how it is being leveraged in the IT industry along with one use-case solved by it in NASA.
So, let’s start with the main question, what exactly is this “Ansible”?
Well, the answer goes as:
Ansible is an automation tool capable of performing automation for OS Provisioning, Orchestration, Deployment, etc. But the main power of Ansible comes in handy when we need “Configuration Management”. What I mean by configuration management in simple terms is to configure various services and applications with numerous settings.
For example, we can configure an apache webserver to work on some port other than port 80. (Generally, webserver works on HTTP protocol at port 80)
So, I hope you got a basic idea about what kind of automation I am talking about. And of course, the automation will work using command or code. We’ll discuss it soon.
As we know that we already had a lot of ways in the market to perform the automation via Scripts. Then why Ansible makes a difference? Well, this is one of the questions which has a very reasonable answer.
Scripts use an imperative approach where we need to tell what we want and also how we want things to happens. This approach required a deep understanding of the technology and even one person needed to know about lots of technologies to deal with them all. Here, ansible comes in handy. It uses a declarative language approach and we just need to mention what we want in the code and the rest is taken care of by the ansible. But the plus point here is, that we don’t even require to know anything about the target machine which we want to configure. Ansible automatically finds out everything about the machine and configure accordingly.
This makes Ansible look like an intelligent tool but the intelligence of Ansible lies in the numerous module created by developers of the community. These modules have the code that finds out the target machine’s details and work accordingly, we just need to tell in code what we want as the final result.
These modules are written in Python language and also, the Ansible tool itself is written in Python language.
- Ansible is simple to use. It uses the syntax of YAML (Yet Another Markup Language) and has its own personal keywords to be written in YAML format.
- Ansible is Agentless. It uses a Master-Slave cluster architecture where Master is the controller node where Ansible tools need to be installed and Slaves are the target or managed nodes that will be configured.
Let’s now see how Ansible is used by NASA.
The National Aeronautics and Space Administration (NASA) is an independent agency of the US federal government responsible for the civilian space programs, as well as aeronautics and space research. You can read more about it from Wikipedia.
Our main agenda is to know how Ansible is used by NASA, what challenges NASA faced and how Ansible helped the organization.
I read about one challenge faced by NASA regarding Configuration Management and would explain the same in plain English.
We know that it is the era of cloud computing and every organization prefers to go for cloud resources rather than having on-premises bulk of resources. So, NASA also decided to go for a similar approach and that’s where the challenge arose. NASA wanted to integrate with the AWS cloud services.
NASA was using around 65 applications in the traditional data centers comprising of on-premises hardware. So, when they decided to move into the cloud-based data centers, meaning they decided to use cloud resources, they faced the challenge that many applications needed to be migrated to cloud environment ‘as-is’. Even simple configurations and administration tasks or simple patching had become extremely complex.
So, NASA used Ansible to manage and schedule the cloud environment.
As they used Ansible, they were better equipped to leverage the cloud resources and environment. It also gave the clients better operations and security, increasing the overall efficiency of the work.
Redhat Ansible website shows a few insights about the impact made by Ansible in NASA’s organization:
- Updating nasa.gov went from over 1 hour to under 5 minutes.
- Provisioning OS Accounts across an entire environment in under 10 minutes.
So, we see how Ansible helps in saving time and effort. This time can be utilized in doing more research which would be a kindness to mankind from NASA’s perspective of Space research.
This was all about a small use case of Ansible in the industry. I hope you got the idea about Ansible and how it can save your time in configuring software every time you launch a new OS or virtual machine.
Thank you… :)