How Microsoft is using Ansible !!!

Anirudh Bambhania
4 min readDec 1, 2020

What is Ansible ?

Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.

Designed for multi-tier deployments since day one, Ansible models your IT infrastructure by describing how all of your systems inter-relate, rather than just managing one system at a time.

It uses no agents and no additional custom security infrastructure, so it’s easy to deploy — and most importantly, it uses a very simple language (YAML, in the form of Ansible Playbooks) that allow you to describe your automation jobs in a way that approaches plain English.

Challenges faced by microsoft

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

Use of Automation to solve microsoft problems —

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.

  • 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

Engineers now automate repeatable, day-to-day tasks by deploying Ansible Playbooks to the network through a centralized playbook version control system. Additionally, these 3 environments support a collaborative DevOps approach across the company’s network and engineering teams.

Microsoft has used its staged Ansible environments to automate routine engineering tasks, such as delivery of logic-based changes to ensure services are available to customers. Events in the network trigger other workflows, such as advanced telemetry, ticketing, logging, and analytics. Ansible-based IT automation also helps the company follow a phased, iterative approach to code creation that protects code quality with scheduled releases of tested, verified network configurations.

  • 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,” said Dworak. “With Ansible, we can create blueprints to deploy it multiple times. And every time we deploy, it’s exactly the same. Instead of redoing work and having a lot of different, single-use versions, we can continually fine-tune this shared code.
  • This approach creates opportunities for Microsoft to continue scaling to support customer demands at a much faster pace.
  • Implementing Ansible has helped Microsoft save thousands of work hours per year, including several weeks’ worth of work by reducing production downtime and network configuration defects. By completing code peer reviews and gated check-ins through preproduction environments, the company has reduced the amount of defects and bugs introduced into its production environment. This approach ultimately reduces major incidents and outages, improving network quality.
  • With the time and money saved by adopting standardized, stable automation, Microsoft’s teams can now focus on creating innovative infrastructure solutions that provide higher service quality to end users.
  • By focusing on people, process, and technology, Microsoft has evolved in its automation journey from manual scripting and changes to continuous integration and delivery (CI/CD) approach supported by a centralized, service-based architecture

Red Hat and Ansible technology will continue to play an important role in Microsoft’s automation strategy — for example, as part of its strategic Network as Code vision to operate, maintain, and deploy its global networks with automation. But people remain the heart of Microsoft’s transformation and strategic growth.

“Every single process, service, and application at Microsoft is going through digitization and optimization. We are investing in automating all of our critical business processes,” said Ludovic Hauduc, General Manager, Core Platform Engineering, at Microsoft.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Thank You

Anirudh Bambhania

--

--