How NASA uses Ansible for Automation

Pradeep Kumar
4 min readDec 2, 2020

Hey Everyone…

In this Blog we will come to know about automation in IT industries, configuration management and automation tools specifically Ansible, Ansible and its use cases, NASA’s implementation of Ansible.

Automation in IT

There are many configuration management tools available in the market but Ansible has created its own popularity in this field. Ansible is a powerful IT automation tool that you can quickly learn. It’s simple enough for everyone in IT yet powerful enough to automate even the most complex deployment. Automation tools profit the IT industry a lot because it :

  • Saves more time
  • Is cost efficient in terms of resources and money
  • Enhances quality of products

What is Ansible?

Ansible is an open-source automation tool that automates software provisioning, configuration management, and application deployment.

If you are a system administrator or IT engineer you probably involved in doing a lot of repetitive task in your environment whether it be sizing, creating a new house or virtual machines every day, applying configuration on them, patching hundreds of servers, migration or even performing security and compliance audits. All of these very repetitive tasks involve the execution of hundreds of commands on hundreds of different servers. Smart people develop a script to automate these tasks but it requires coding skills and regular maintenance of this script and a lot of time to put this script together in the first place. That’s where Ansible comes in the picture.

Let’s have a look at some of the terminology used in ansible:

  • Controller Node: Machine where Ansible is installed.
  • Managed Node: Managed nodes are also sometimes called hosts.
  • Inventory: Information regarding servers to be managed
  • Playbook: Automation script is defined using tasks defined in YAML format
  • Task: Procedure to be executed
  • Module: Predefined commands executed directly on remote hosts.

How it works?

Ansible has a Resource Abstraction Layer(RAL) which supports most of the configuration to be done on any operating system using Secure Shell (SSH) protocol to perform tasks.

Ansible works by connecting to your nodes and pushing out small packages called Ansible modules to them. Then Ansible executes these modules and removes them after finished. The library of modules can reside on any machine, and there are no daemons, servers, or databases required.

Features Of Ansible

  • Open source
  • Very simple to set up and easy to use
  • Powerful
  • Flexible
  • Agentless
  • Efficient

Ansible Industry-wise Analysis

Ansible in NASA

Few words on Ansible by NASA:

“Ansible Tower has allowed us to provide better operations and security to our clients. It has also increased our efficiency as a team.”

Challenges Faced by NASA :

NASA needed to move roughly 65 applications from a traditional hardware based data center to a cloud-based environment for better agility and cost savings. The rapid timeline resulted in many applications being migrated ‘as-is’ to a cloud environment.

This resulted in creation of an environment spanning multiple virtual private clouds (VPCs) and AWS accounts that could not be easily managed. Even simple things, like ensuring every system administrator had access to every server, or simple patching, were extremely burdensome.

Solution proposed by REDHAT ANSIBLE: Leverage Ansible Tower to manage and schedule the cloud environment!!

How NASA benefitted from Ansible :

As a result of implementing Ansible Tower, NASA is better equipped to manage its AWS environment. Tower allowed NASA to provide better operations and security to its clients. It has also increased efficiency as a team.

  • Updating nasa.gov went from over 1 hour to under 5 minutes
  • Patching updates went from a multi-day process to 45 minutes
  • Achieving near real-time RAM and disk monitoring (accomplished without agents)
  • Provisioning OS Accounts across entire environment in under 10 minutes
  • Baselining standard AMIs went from 1 hour of manual configuration to becoming an invisible and seamless background process
  • Application stack set up from 1–2 hours to under 10 minutes per stack

Future plans of NASA on deploying Ansible :

“In the future, Ansible will be used to manage our stack of Windows servers and perform the same magic we’ve been able to achieve in our Linux environments.”

“We are working on moving many applications into cycles of Continuous Integration and Deployment, which will be leveraging Ansible as the conductor of these architectures.”

“The end goal will be for our production environment to be completely automated with system administrators only needing to SSH/ WINRM into instances manually for troubleshooting”

End of Blog!!!

Hope everyone grabbed a bit of knowledge about Automation tools, Ansible and its use cases, how NASA deploys Ansible in its use cases.

Thank You…

--

--