ASAPP, an Artificial Intelligence product company in NY has been using CI/CD tools such as Github, CircleCI and Terraform to run build and test automation on publicly hosted Github and CircleCI solutions. With a growing customer base, it became essential to improve and enhance the security and compliance posture in their software development and release lifecycle by building and deploying an internal enterprise CircleCI and internal enterprise Github environment. Additionally, in order to improve visibility into software quality, a need for standard code quality and scanning tool became apparent.
ASAPP
Created the framework for continuous integration tooling
Challenge
Our Approach
We were engaged to build an enterprise CI tooling framework inside the customer’s private AWS environment. Our goal was to build the solution using Terraform with a high degree of automation. The solution should allow engineers to get up and running again quickly in the event of an outage in a fairly automated way.
Solution
Our solution was designed to run in a single AWS region with primary HA using snapshot recovery of artifacts and state. The solution was build using various AWS services such as EC2, RDS, S3, Lambda, IAM, SQS, EBS, Route53 etc. The environment was built such that it can be re-instantiated at will in any AWS region by specifying parameters during run-time. Necessary network configurations were set up for various services to communicate with each other. The environment met customer’s internal security and VPC requirements.
Outcome
The custom CI tooling framework in AWS allowed the customer to quickly migrate their existing applications over to the new setup in order to meet their security and compliance requirements with an improved developer experience.
- Automated way to provision and configure CI tooling
- Improved the stability and reliability of CI tools
- Improved visibility into software quality which enhanced the overall developer experience
- Met security and compliance in the software development and release lifecycle