Automation with Ansible

What exactly is Ansible?

Ankit Kumar
5 min readDec 2, 2020

--

Ansible is an open-source, cross-platform automation tool used for configuration management and application-deployment thus providing infrastructure as code. Ansible works on declarative language approach i.e. the user only needs to define what task he wants to achieve on particular system and Ansible configures what commands to use with the help of it’s modules.

The term “ansible” was coined by Ursula K. Le Guin in her 1966 novel Rocannon’s World, and refers to fictional instantaneous communication systems. And 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. For more info, visit here.

Why should you use Ansible?

Source: giphy.com
  1. Agent-less: Ansible doesn’t require any agent setup or any other kind of configuration on the target node.
  2. Easy to use: Ansible literally crushes the complexity and makes it much easier to work with different operating systems.
  3. Highly Scalable: You just need to update the inventory file to configure a new system.
  4. Platform Support: Ansible hosts modules for various different platforms and technologies.

Case Study: SBB

About SBB

The Swiss Federal Railway (SBB) is the backbone of the Swiss public transport system, and day-to-day rail operations are the basis of what they do. SBB has been transporting people and freight for more than 100 years. By doing so, they’re making an important contribution to the quality of life and competitiveness in Switzerland.

Vision

Swiss Federal Railways (SBB) is ranked among the world’s best railway operators, based on its high rate of use, service quality, and safety rating1. In the next few years, SBB plans to invest close to US$1 billion annually in new and modernized trains to create a smart, safe, and highly efficient rail network. For example, new trains will include intelligent features such as dynamic LED information displays, digital seat booking systems, CCTV safety monitoring, and WiFi access.

Challenges

Managing the devices supporting these features was difficult due to high volume and a lack of central control. After connecting all of its trains to a corporate network through 4G LTE mobile routers, SBB sought to establish an IT infrastructure that could take advantage of this connection to centrally manage all of the intelligent devices across its rail network. In addition, a standardized Internet of Things (IoT) environment would simplify development and launch of new services across the network.

“We wanted to give our developers a platform on which they can roll out any type of new application, quickly and simply.” — Sascha Berger (Systems engineer, SBB)

Red Hat Steps in…

To support intelligent service devices across more than 100,000 on-board systems, SBB centralized and automated device management and development platform using Red Hat Ansible Automation and Red Hat Enterprise Linux, supported by Red Hat Satellite. With this solution, SBB has reduced device configuration times by 90%, improved the security of its data and network, and given developers access to data that will inform new, innovative services for railway passengers.

“The possibilities are limitless because we can easily manage all of these connections and continue supporting all of our devices with Red Hat Ansible Automation.” — Sascha Berger (Systems engineer, SBB)

The core of SBB’s updated device environment is Red Hat Enterprise Linux, an enterprise operating system that provides a stable, reliable foundation for scaling existing applications and adopting emerging technology. Running in this environment, Red Hat Ansible Automation helps SBB auto-mate complex deployments and centrally control its IT infrastructure through a visual dashboard with features such as role-based access, scheduling, integrated notifications, and graphical inventory management. The rail operator used Ansible’s RESTful (Representational State Transfer) application programming interface (API) and command-line interface (CLI) to embed it into existing tools and processes.

“We compared Ansible and Puppet, and Ansible proved to be much easier to use to manage and write playbooks” — Sascha Berger (Systems engineer, SBB)

With help from Red Hat Consulting, SBB’s new application environment was operational in just three weeks.

Speeding feature and security updates with automation

Reduced configuration times by more than 90%: By automating its complex, manual device configuration process using Red Hat Ansible Automation, SBB has reduced the configuration time for each train from five days to three hours or less — some-times as fast as 40 minutes.

Improved device and data security: Compared to its previous, manual approach to device installation and management, SBB’s auto-mated approach with Red Hat Ansible Automation is more secure and reliable. Central device management eliminates the need for individual technicians to physically plug in USB drives to multiple trains. Updates are managed by vehicle type, avoiding any fleet-wide service impact, and can even be done while a train is in motion.

“With the old system, updating an application required selecting each recall separately and choosing which vehicles to apply this software update on,” said Berger. “Now, we can test updates, and roll them out into production with Red Hat Ansible Automation.”

Source: zdnet.com

Security controls are built into Red Hat’s software to protect sensitive data with role-based access. For example, Ansible Automation centralized all access credentials to store SSH (Secure Shell) keys or passwords without exposing them to dozens of users across the railway operator. As a result, SBB can better protect critical national transportation infrastructure from malicious threats or errors.

Give a clap if you’re fascinated by Ansible and do share your thoughts on how you would like to use it in the comments below.

That’s all…!

Hope you’ve enjoyed it…!

See you again…!

--

--