Research on Ansible Automation Tool Industry Use Cases

Hardik Khurana
5 min readDec 1, 2020

What is Ansible?

Ansible is simply an open-source IT engine that automates application deployment, intra service orchestration, cloud provisioning, and many other IT tools.

Ansible is easy to deploy because it does not use any agents or custom security infrastructure.

Ansible uses playbook to describe automation jobs, and playbook uses elementary language, i.e., YAML (It’s a human-readable data serialization language & is commonly used for configuration files, but could be used in many applications where data is being stored)which is very easy for humans to understand, read and write. Hence the advantage is that even the IT infrastructure support guys can read and understand the playbook and debug if needed (YAML — It is in human-readable form).

Ansible is designed for multi-tier deployment. Ansible does not manage one system at a time, it models IT infrastructure by describing all of your systems are interrelated. Ansible is completely agentless which means Ansible works by connecting your nodes through ssh(by default). But if you want other methods for connection like Kerberos, Ansible gives that option to you.

Features of Ansible?

Let’s take a look at some of the following features.

Agentless — Which means there is no kind of software or any agent managing the node like other solution such as puppet and chef.

Python — Built on top of python, which is fast and one of the robust programming languages in today’s world.

SSH — Very simple passwordless network authentication protocol that is secure. So, your responsibility is to copy this key to the client

Push architecture — Push the necessary configurations to them, clients. All you have to do is, write down those configurations (playbook) and push them all at once to the nodes. You see how powerful it can be to push the changes to thousands of servers in minutes.

Setup — a minimal requirement and configuration needed to get it to work.

Working of Ansible tool?

Ansible works by connecting to nodes and pushing out small programs called ansible modules. Ansible then executes these modules over SSH by default and then remove them when finished.

The Ansible management node is the controlling node, which controls the entire execution of the Playbook. It’s the node from which you are running the installation, and the inventory file provides the list of the host where the modules need to be run. The management node makes ssh connection, and then it executes the modules on the host machines and installs the product. It removes the modules once they are installed. So that’s how ansible works.

Case Study on Microsoft:

Microsoft automates to achieve more with the Red Hat Ansible Automation Platform.

To support its strategic mission, Microsoft has set a goal of end-to-end digitization. This effort simplifies processes and experiences for end-users across all of its infrastructure teams managing services and applications. As part of this shift, the company is focused on building a culture of success, supported by automation technology. Using Red Hat Ansible Automation Platform and working closely with Red Hat Consulting, Microsoft created a standardized, centralized network automation environment that reduces routine, repeatable tasks and complexity. DevOps teams across the company can now focus on sharing knowledge, building skills, and creating innovative technology solutions.

Automation Softwares Microsoft is using are given below:

Accommodating growth with a new network approach Microsoft Corporation develops, manufactures, and supports software, consumer electronics and computers, and related services. Its mission is to “empower every person and every organization on the planet to achieve more”

To support this mission, Microsoft has set a goal of end-to-end digitization, an approach that will simplify processes and experiences for end-users across all of its services and applications.

“Digital transformation at Microsoft is about how we’re reinventing our operations and radically improving customer experience by eliminating manual work,” said Ryan Mecca, Principal Software Engineering Group Manager, Engineering Platforms and Data Insights, at Microsoft.

Keeping pace with customer and partner expectations required addressing increased complexity across Microsoft’s corporate network infrastructure — comprised of tens of thousands of endpoints, more than 400 engineers, and close to 150,000 total employees — that connects all of Microsoft’s offices, sites, and retail locations worldwide.“We have thousands of devices of various makes and models and software versions, so at times, it’s hard to keep up with all the different vendors and ways that we interact with those devices,”

said Bart Dworak, Software Engineering Manager at Microsoft.

Additionally, code created by development and engineering teams was not version-controlled or peer-reviewed, leading to duplication, quality issues, and further complexity. “We had to change our mindset in how we’re managing and deploying our global network, which included not only modernizing our platforms but modernizing our skill sets,” said Mecca.

To simplify and scale at pace with market demands, Microsoft looked to create a scalable, technology-agnostic automation framework that would reduce manual workloads with efficient tools and processes, as well as mitigate performance and security issues with standardized, tested code. This new solution would replace its legacy production automation solution to provide comprehensive automation capabilities, supported by a more collaborative, iterative development approach.

Creating automation environments with a strategic partner As one of the largest contributors to open source, Microsoft sought an enterprise open source solution that would provide effective automation across different network vendors and create opportunities for employee engagement and collaboration. The company chose to work with its strategic

partner Red Hat to adopt Red Hat Ansible Tower and Red Hat Ansible Engine (both now part of Red Hat Ansible Automation Platform) running in Microsoft Azure.

“Our strategic mission at Microsoft is to support and grow our Azure cloud. We’re seeing a tremendous increase in Ansible users in Azure, growing our cloud while also bringing more contributors to Ansible to help grow that platform,” said Mecca. “There’s drive and passion from the industry to use Ansible and Azure together.”

--

--