,

DevOps Case Study: Automated releases to Docker containers on AWS Fargate for Agile development

Executive Summary

As a world leader in electronic measurement, the customer wanted to optimize their customer turnaround by managing the supply chain with a real-time collaboration platform. The application deployed manages the available stock that can be allocated for delivery and shipping based on various priorities. The Delivery Management system controls various processes such as quantity allocation, status tracking of the various deliverables, Realtime arrivals etc.

About the Customer

The customer is the world’s leading electronic measurement company, transforming today’s measurement experience through innovations in wireless, modular, and software solutions. With its roots based in Hewlett-Packard and Agilent, the customer delivers solutions in wireless communications, aerospace and defense and semiconductor markets with world-class platforms, software and consistent measurement science.

Customer Challenge

One of the departments of the Customer wanted to evaluate the benefits of a cloud solution on AWS. They had to prove success before other workloads could move. This meant that they would have to start small and keep building on the solution in small increments. They decided to build in Agile methodology and deploy features faster to production so that they get continuous feedback on the functionality. This requires a robust CI/CD Pipeline to help them deploy features incrementally.

Why AWS

Being an existing user of the platform, the customer was confident in the capabilities of Amazon Web Services. AWS provided the services for Developer tools with CICD to deploy the application in line with the vision laid out by the customer. A serverless approach was chosen to deploy the application.

To facilitate the continuous build and deployment environment in AWS, the customer chose to work with AspireNXT, an IT services provider that is part of the AWS Partner Network (APN).

Partner Solution

Aspire NXT helped the customer to setup Developer tools using AWS CICD services to build and deploy a serverless application.

Earlier there were manual steps in even building a Production-Ready release candidate. We have introduced an automated deployment CICD pipeline for all teams that eliminates manual steps, delays, errors and rework. As a standard practice Aspire NXT helped to create 5 different environments with CICD process and by using Code deploy service which helps in terms of seamless Blue/Green deployment, in-service upgrade.

Architecture Diagram

Results and Benefits

A CI/CD pipeline is where environments have different stages such as Development (Dev), Quality Assurance (QA), User Acceptance Test (UAT), Staging / Pre-Production (Stage/PP), and Production (Prod). The CI/CD pipeline allows manual processes to be automated. Such a pipeline allows individuals to achieve high quality code with the flexibility to deploy/rollback without delaying other’s work as well as numerous deployments.

  • Build/deployment rollback plan enabled for build or deployment failures
  • Email notifications to the team who made build success and failed using SNS
  • Automate the Software Release Process
  • Improve developer productivity
  • Improve code quality
  • Deliver updates faster
  • No maintenance needed
  • Track of builds history & build errors
  • Continuous build process without any human interventions

IAM Keys are rotated every 90days, and Credentials/Keys are stored in Amazon Secrets Manager service and will be retrieved from the application(SDK). Data at rest in AWS S3 and Aurora RDS is encrypted with AWS KMS key and restricted from public access. All the deployments are triggered by CLI. Application is monitored in Grafana tool and integrated with the AWS SNS topic for the Email notification protocol.

Top
close slider