In this post, I'll share my experience building an Ansible Automation Platform that revolutionized how we handle Azure infrastructure requests. This solution was presented at Red Hat Tech Exchange and voted Best Partner Session by attendees.
The Challenge
Our team was overwhelmed with repetitive Azure-related requests:
- VM provisioning
- Network configuration
- Storage management
- Access control changes
The Solution
I built and managed an Ansible Automation Platform integrated with ServiceNow to create a self-service portal for Azure infrastructure. We developed custom scripts within ServiceNow to communicate directly with the AAP API, eliminating the need for middleware.
Additionally, I created an Azure Function App to handle the approval workflow for requests requiring authorization outside of ServiceNow, secured with Azure Entra ID authentication.
ServiceNow Integration Flow
When a user raises a request in ServiceNow:
- A REQ (Request) is created as a container for all items
- Each form submission creates an RITM (Requested Item)
- Automation triggers the appropriate Ansible playbook
- On success: RITM is closed automatically
- On failure: A SCTASK is created for manual review and an INC (Incident) is raised for the SRE team
Automated Catalog Items
The platform handles a wide range of Azure operations:
| Category | Automations |
|---|---|
| Virtual Machines | Create VM, Remove VM, JIT Access, Auto Start/Stop Tags |
| Identity & Access | Subscription/Resource Group/Resource RBAC, AD Groups, AD Roles |
| Networking | Private Endpoints, App Service VNet Integration |
| Virtual Desktop | Windows 365 user provisioning |
Results
- 90% automation rate for Azure-related requests
- Reduced provisioning time from days to minutes
- Consistent, repeatable deployments
- Full audit trail for compliance
- Self-service portal reducing support burden
- Automatic incident creation for failed automations