Case Study
Enabling CI-CD DevOps for a Leading Chip Manufacturer

Overview

Our client is a US based electronic components manufacturer company, offering services in the digital, automotive, IoT and the industrial space. Its main product line is in EDA (Electronic Design Automation) tools for creating schematic diagrams used in manufacturing Printed Circuit Boards (PCBs).

The customer application is a 3-tier web architecture hosted and fully managed on the AWS Cloud.

The Challenge

The application demanded over 2-3 hours of effort per week for its routine maintenance activities, and its release process stages were manual, error prone and time-consuming, as explained below:

Application Release and Updates

The current deployment onto 4-5 servers consumed about 3-4 hours on average. The repeated cycles of drains, clean ups, deploys, registration & deregistration processes had a direct impact on handling the incoming service requests.

Windows OS Patching

The Windows OS and EC2 instances on which the design tool ran, required frequent manual patching. This led to an extended downtime of about 4-5 hours per patching schedule.

Connectivity Issue

The maintenance of the RDS instances caused frequent interruptions, as the Windows OS services needed secured connectivity between the instances. This caused frequent reboots during the installation and maintenance sessions.

Deployment Process Scalability

Instances joining to Active Directory also caused frequent rebooting processes, which interrupted the overall application deployment.

Our Solution

The customer required trained resources with the requisite skills and experience, to address the challenges faced.

Agilisium worked on delivering an end-to-end fully automated Continuous Integration and Delivery System (CI/CD) from the ground-up, adopting an enterprise DevOps culture, implementing Agile practices.

CI/CD Pipeline Implementation

  • The application instances were hosted as private Git repositories with the help of source control services, using AWS Code Commit.
  • The CI/CD deployment workflows for the application were managed, using AWS Code Pipeline.
  • The revamped application was then automatically deployed, using AWS Code Deploy.

Application Release and Updates

  • Significant reduction in the application deployment time from 3-4 hours to 30 minutes.
  • 80-85% reduction in time to market, due to effective optimization of the application release cycles.

Windows OS Patching

  • 60-75% reduction in patching time i.e., about 1-2 hours, with zero downtime.
  • Automated scheduled OS patching of the EC2 spot instances using AWS Systems Manager.
  • Automated Golden Amazon Machine Images (AMIs) patching using AWS Systems Manager, Maintenance Windows and Patch Baseline.

Connectivity Enhancement

Lambda functions were utilized to monitor and restart the Windows OS services post Relational Database Service (RDS) maintenance, which played a key role in determining the EBS volume size based on the threshold limits.

Deployment Scalability Support

  • Ansible to support the customer deployments and infrastructure management on AWS.
  • CloudFormation Templates (CFTs) to facilitate the infrastructure deployments and CloudFormation signalling to trigger the CFT wait processes.
Results and Benefits

Due to the streamlined adoption of CI/CD enabled DevOps, the cloud deployed application witnessed the following benefits:

Reduced Time to Market (TTM)

  • Optimal planning of the release deployments and increased predictability of the release cycles.
  • 80-85% reduction in the application release cycle time.
  • 2 weeks: reduction in deployment frequency from 1 month.

Productivity Gains

  • 95% reduction in time spent on the administration and maintenance tasks.
  • Notable improvement in the patching schedules, due to fewer resource consumption.