NASA & Ansible Tower

KAVIN KRISHNA PRASAD
6 min readNov 30, 2020

CHALLANGES.
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 agency migrated many of its applications “as-is” to a cloud environment as a result of the rapid timeline. This created an environment spanning multiple virtual private clouds and AWS accounts it could not easily manage.
Even simple things, like ensuring every system administrator had access to every server or simple patching, were extremely burdensome.

FIX.
To remedy this, NASA turned to Red Hat and Ansible Tower to manage and schedule the cloud environment. Ansible by Red Hat is a simple-to-use IT automation engine that transforms the repetitive, inefficient tasks of software release cycles into predictable, scalable and simple processes. It automates cloud provisioning, application deployment, configuration management and service orchestration to let developers spend more time on their work and help operations more easily support deployment pipelines.

Red Hat Ansible Tower.

With Red Hat Ansible Tower you can centralize and control your IT infrastructure with a visual dashboard, role-based access control, job scheduling, integrated notifications and graphical inventory management. Easily embed Ansible Tower into existing tools and processes with REST API and CLI.

YOUR ANSIBLE DASHBOARD

The Ansible Tower dashboard provides a heads-up NOC-style display for everything going on in your Ansible environment.

As soon as you log in, you’ll see your host and inventory status, all the recent job activity and a snapshot of recent job runs. Adjust your job status settings to graph data from specific job and time ranges.

REAL-TIME JOB STATUS UPDATES

Within Ansible Tower, playbook runs stream by in real time. As Ansible automates across your infrastructure, you’ll see plays and tasks complete, broken down by each machine, and each success or failure, complete with output. Easily see the status of your automation, and what’s next in the queue. Other types of jobs, such as source control updates or cloud inventory refreshes, appear in the common job view. Know what Ansible Tower is up to at any time.

MULTI-PLAYBOOK WORKFLOWS
Ansible Tower Workflows allow you to easily model complex processes with Ansible Tower’s intuitive workflow editor. Ansible Tower workflows chain any number of playbooks, updates, and other workflows, regardless of whether they use different inventories, run as different users, run at once or utilize different credentials.
You can build a provisioning workflow that provisions machines, applies a base system configuration, and deploys an application, all with different playbooks maintained by different teams. You can build a CI/CD testing workflow that builds an application, deploys it to a test environment, runs tests, and automatically promotes the application based on test results. Set up different playbooks to run in case of success or failure of a prior workflow playbook.

SCALE CAPACITY WITH TOWER CLUSTERS

Connect multiple Ansible Tower nodes into a Ansible Tower cluster. Ansible Tower clusters add redundancy and capacity, allowing you to scale Ansible automation across your enterprise, including with reserved capacity for certain teams and jobs, and remote execution for access across network zones. Current Ansible Automation architecture can scale to 200K nodes with 20 cluster nodes.

INTEGRATED NOTIFICATIONS.

Stay informed of your automation status via integrated notifications. Notify a person or team when your job succeeds, or escalate when jobs fail. Send notifications across your entire organization at once, or customize on a per-job basis.
Connect your notifications to Slack, Hipchat, PagerDuty, SMS, email, and more — or post notifications to a custom webhook to trigger other tools in your infrastructure.

SCHEDULE ANSIBLE JOBS.

Playbook runs, cloud inventory updates, and source control updates can be scheduled inside Ansible Tower — run now, run later, or run forever. Set up occasional tasks like nightly backups, periodic configuration remediation for compliance, or a full continuous delivery pipeline with just a few clicks. The schedules list may be sorted by any of the attributes from each column using the directional arrows. You can also search by name, date, or the name of the month in which a schedule runs. .Use the ON/OFF toggle next to the schedule name to enable/disable that schedule.

MANAGE AND TRACK YOUR ENTIRE INVENTORY.
Ansible Tower helps you manage your entire infrastructure. Easily pull your inventory from public cloud providers such as Amazon Web Services, Microsoft Azure, and more, or synchronize from your local OpenStack cloud or VMware environment. Connect your inventory directly to your Red Hat Satellite or Red Hat Cloud Forms environment
Ansible Tower can keep your cloud inventory in sync, and Ansible Tower’s powerful provisioning callbacks allow nodes to request configuration on demand, enabling auto scaling. You can also see alerts from Red Hat Insights directly from Ansible Tower, and use Insights-provided Playbook Remediation to fix issues in your infrastructure.
Plus, Ansible Tower Smart Inventories allow you to organize and automate hosts across all your providers based on a powerful host fact query engine.

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

REMOTE CONTROL EXECUTION.

Run simple tasks on any host or group of hosts in your inventory with Ansible Tower’s remote command execution.

Add users or groups, reset passwords, restart a malfunctioning service or patch a critical security issue, quickly.

As always, remote command execution uses Ansible Tower’s role-based access control engine and logs every action. So that it works faster.

COMPREHENSIVE REST API AND TOWER CLI TOOL.

Far from being limited to just the user interface, every feature of Ansible Tower is available via Ansible Tower’s REST API, providing the ideal API for a systems management infrastructure to build against. Call Ansible Tower jobs from your build tools, show Ansible Tower information in your custom dashboards and more. Get API usage information and best practices with built-in documentation. If it’s easier for you to wrap a command line interface than write REST code, Ansible Tower’s CLI tool is available for launching jobs from CI systems such as Jenkins, or when you need to integrate with other command line tools.

--

--