What Is Ansible and How NASA used Ansible to solve its Challenges???

Tejashwinikottha
4 min readNov 30, 2020

First Let us Know about Ansible….!

What is Ansible ?

Ansible is a software tool that provides simple but powerful automation for cross-platform computer support. It is primarily intended for IT professionals, who use it for application deployment, updates on workstations and servers, cloud provisioning, configuration management, intra-service orchestration, and nearly anything a systems administrator does on a weekly or daily basis. Ansible doesn’t depend on agent software and has no additional security infrastructure, so it’s easy to deploy.

Ansible itself is written in Python and has a fairly minimal learning curve.

Ansible follows a simple setup procedure and does not depend on any additional software, servers or client daemons. It manages nodes over SSH and is parallel by default

How it 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.

“Advantages of Ansible…..”

  • Free: Ansible is an open-source tool.
  • Very simple to set up and use: No special coding skills are necessary to use Ansible’s playbooks (more on playbooks later).
  • Powerful: Ansible lets you model even highly complex IT workflows.
  • Flexible: You can orchestrate the entire application environment no matter where it’s deployed. You can also customize it based on your needs.
  • Agentless: You don’t need to install any other software or firewall ports on the client systems you want to automate. You also don’t have to set up a separate management structure.
  • Efficient: Because you don’t need to install any extra software, there’s more room for application resources on your server.

“Use Cases of Ansible…”

How Ansible helped in solving the challenges faced by NASA….!

Let’s see..

The National Aeronautics and Space Administration (NASA) is the United States government agency responsible for U.S. space exploration, space technology, Earth and space science, and aeronautics research. NASA inspires the world by exploring new frontiers, discovering new knowledge, and developing new technology.

Once has faced an issue of Increase efficiency, cloud migration

A Business Challenge 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 created 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:

Leverage Ansible Tower to manage and schedule the cloud environment

Result:

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. By the numbers:

  • 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

Finally,

Thanks for Reading :)

--

--