How Ansible Automated Microsoft

Preetika Thakur
4 min readDec 1, 2020

What Is Ansible?

Ansible is an open-source automation tool used for IT tasks such as configuration management, application deployment, intraservice orchestration, and provisioning.

Automation is crucial these days, with IT environments that are too complex and often need to scale too quickly for system administrators and developers to keep up if they had to do everything manually.

Digital transformation is really changing the way that we think about how we solve problems. In the past, we had to manually do the same deployment again and again. With Ansible, we can create blueprints to deploy it multiple times. And every time we deploy, it’s exactly the same.

- BART DWORAK, SOFTWARE ENGINEERING MANAGER, MICROSOFT

Automation simplifies complex tasks, not just making developers’ jobs more manageable but allowing them to focus attention on other tasks that add value to an organization. In other words, it frees up time and increases efficiency. And Ansible is rapidly rising to the top in the world of automation tools.

How Ansible 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.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.
  • 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.

Microsoft Case Study

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.

🔰 Challenge

Microsoft needed to address increasing complexity across their corporate network infrastructure — comprised of tens of thousands of endpoints — that connects Microsoft 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. Their issues were compounded as code created by development and engineering teams was not version-controlled or peer-reviewed, leading to duplication and quality issues.

🔰Solution

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 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.”

Microsoft’s teams established 3 automation environments:

  • Development, where code is developed and tested on a small scale
  • User acceptance testing (UAT), where code is peer-reviewed and tested at scale
  • Production

Using Red Hat Ansible Automation Platform and working with Red Hat Consulting, Microsoft created a standardized, centralized network automation environment that reduces routine, repeatable tasks and complexity.

As part of its adoption of Ansible, Microsoft worked closely with Red Hat Consulting, including initial on-site planning in Redmond as well as ongoing architecture design and training over 9 months. For example, Microsoft teams and Red Hat architects chose GitHub as a single source code version repository.

🔰Result

Microsoft turned to Ansible to improve the productivity of hundreds of engineers across 600 locations worldwide. Those engineers use Ansible now to automate repeatable, day-to-day tasks by deploying Ansible Playbooks to the network through a centralized playbook version control system which has saved an estimated 3,000 work hours per year and reduced downtime.

--

--