Case Study #NG1005 – IaaS – Infrastructure Automation
Client is a multinational services firm headquartered in London, England and one of the largest professional services firm in the world and also one of the “Big Four” accounting firms. The vision of the Business and IT leadership teams is to automate the provisioning of Infrastructure in virtualized environment in a phased manner. The automation of virtual environment setup and configuration aligned with business processes and workflows and compliance with IT policies. The mission is to automate the whole IT setup in Non-GDC business unit without any human intervention.
1. System overview:
Currently, client using internal tools and ServiceNow to track the server build request. BPS (Build and Provisioning Services) Automation system is a .net based web application used to automate the provisioning of all VMs in VMware vSphere 5.5/6.0. This web application has an integration layer to integrate with client internal tools to get the server build details. This system consists of service layer and an internal database to track the build request and used to execute the provisioning scripts in background.
The BPS Automation suite is a single-click deployment portal and all required server resources are provisioned automatically. The user will place an order through web portal and all necessary input parameters are populated from Build tool and VMware. BPS Automation suite has 3 functional layers such as Automation, Operations and Frameworks. This suite can be integrated with customer Internal/External tools such as Build tool, BlueCAT IPAM, Microsoft SCOM, NetBackup, Qualys Agent, GVS Scan etc.
The system consists of four layers which can also be seen in Figure 2:
- Automation Layer
- Data Access Layer
- Business Logic Layer
- Presentation Layer
This is done to improve the modularity of the application, and allow for easier extension of features, should one be needed. Dividing the logic allows the development team to program according to interfaces, thus allowing easier distribution of work
Automation Layer contains various services used to execute the several functionalities of automation scripts in VMware PowerCLI and PowerShell Scripts. The service connectors execute the corresponding services to provision and configure the VM.
Data Access Layer contains methods for accessing the underlying database data. These methods, when invoked, will connect to the database, issue the appropriate query, and return the results. The database and its stored procedures are included in this layer. The service agents are used to execute the services in automation layer through service connectors.
Business Logic Layer serves as an intermediary for data exchange between the presentation layer and the data access layer. Business entities, or business objects, encapsulate the business logic and data necessary to represent real world elements. The goal of designing the business layer is to minimize the complexity by separating tasks into different areas of concern.
Duration of Project:
Start of Project: January, 2018
End of Project: Jun 2018
Third Party services used:
The application used IIS, ASP.NET WEB API, Swagger, SQL SERVER, MSMQ, ANGULAR JS, Bootstrap, VMware PowerCLI, PowerShell, TFS and Remote Management
Business benefits of the migration:
- A self-service portal provide customers with instant access to build information, view provisioning status, and allow personalization, save valuable time and organizational resources.
- Execute common IT operations tasks faster and at lower cost
- Loosely coupled and distributed system
- Support provisioning of Multiple VMs with different OS in single build and also supports multiple builds in parallel.
- Auto Provisioning – Single Windows VM provision and configuration will complete within 4-5 hours and single Linux VM will complete within 40 minutes. This process takes 5-6 days to complete manually and different teams involved.
- Exposes REST API to support integration with other tools
- Log file support for troubleshooting
- Supports multiple reports to view provisioning status and VM configuration details
- Notify end users through mail once build successfully generated.