How Microsoft uses Ansible?
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
What is Ansible?
Ansible is an open-source automation tool used for configuration management. With the increase in complexity of IT environments automation has become a necessity as doing everything manually takes a lot of effort and time. 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.
Benefits of Ansible:-
- Free: Ansible is free and an open-source tool.
- Simple: Very simple to set up and use, and uses clear syntax (YAML)
- Powerful: Ansible lets you model even highly complex IT workflows.
- Agentless: No 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. Everything needs to be done on one centralized system (Controller Node)
- Efficient: Because you don’t need to install any extra software, there’s more room for application resources on your server.
- Secure: Ansible uses SSH and requires no extra open ports or daemons
Microsoft’s Challenges-
Complexity across Microsoft’s corporate network infrastructure was increasing quickly — comprised of tens of thousands of endpoints connecting Microsoft locations worldwide with more than 400 engineers, and close to 150,000 total employees — that connects all of Microsoft’s offices, sites, and retail locations worldwide. To keep pace with customer and partner expectations it required effective automation across different network vendors and create opportunities for employee engagement and collaboration.
Solution-
The company chose to work with its strategic partner Red Hat to adopt Red Hat Ansible Automation Platform) running in Microsoft Azure.
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
Now Ansible is used to 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.
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. So technology is important. It’s critical. But culture comes first.
LUDOVIC HAUDUC, GENERAL MANAGER, CORE PLATFORM ENGINEERING, MICROSOFT
Standardizing on a user-friendly automation solution has not only helped Microsoft solve complexity by creating a single source of truth for services, dependencies, and integrations, but also made it easier for nonengineers to focus on service creation with peer-reviewed code. DevOps teams can now work more efficiently to create new, valuable features and services for end-users while maintaining product performance.