Building Fully Automated CI/CD Pipeline using Azure DevOps

Customer Profile

Our customer is a multinational professional services network with headquarters in London, United Kingdom. With offices in 158 countries and more than 250,000 people, our customer is among the leading professional services networks in the world. They help organisations and individuals create the value they’re looking for, by delivering quality in assurance, tax and advisory services. They were running their workloads on multiple public cloud platform and looking to create a fully automated CI/CD pipeline that will use Azure managed services and EC2 service on AWS.

Goal

During our discussion with customer Program Manager, we identified following goals:

  1. Implement CI/CD pipeline using Azure DevOps
  2. Implement efficient, continuous, automated deployment process.

Solution

By using best practices of DevOps, Loves Cloud implemented an end to end automated continuous integration/continuous delivery pipeline with manual deployment for our customer. We took the following steps to achieve our goals:

  1. Implemented Continuous Integration and Continuous Delivery (CI/CD) pipeline using Azure DevOps.
  2. Implemented Build Pipeline
  3. Integrated GitHub with Azure DevOps
  4. Created a Tomcat deployment server on EC2
  5. Implemented Release Pipeline

Tech Stack

This solution used following tools, platforms, product and services:

  1. Azure-Public Cloud Platform. We used following products primarily:
    • Azure DevOps- for creating CI/CD pipeline
  2. AWS-Public Cloud Platform. Following services are prominently used:
    • Elastic Compute Cloud (EC2): for hosting tomcat deployment server
  3. Language –YAML for scripting
AWS & Azure Tech Stack

Solution Architecture

Click to see large view

Results

Along with the predefined goals, Loves Cloud provided following benefits:

  1. Exponential reduction in deployment time
  2. Improved developer’s productivity due to continuous integration
  3. Predictable delivery; if unit tests are failing, nothing gets delivered
  4. Controlled Releases out of stable build of choice