The Opportunity
This fintech company works with an electronic payment processor, whose mission is to simplify the Accounts Payable process for anyone needing to collect.
The clients’ application was a collection of microservices, responsible for implementing different parts of the system, such as user authorization, a Payments API, and a separate Customer API.
Due to the distributed nature of these services, it had become difficult for each team member to have access to an on-demand isolated development environment in which they could run and test code changes. Therefore, the organization was exploring opportunities to alleviate development and QA bottlenecks by deploying replicas of their entire development environment with a single click.
Key Challenges
The inflexibility of the client’s previous disparate environment required large efforts to set up and drastically slowed down testing, validation, and deployment.
In addition, the client did not have any Continuous Integration (part of CI/CD) pipelines in place to automatically build and merge new code. Without a CI pipeline, there was no mechanism to run automated test cases and inspection routines before the team merged their code changes with other developers’ code base.
Due to lack of automated code inspection and testing in the development lifecycle, broken builds were often pushed to QA that then required rework, taking up valuable time and wasting resources.
The Solution
Having selected SourceFuse as their chosen partner, we undertook a full assessment/discovery of the client’s current processes, applications, and infrastructure. We introduced Infrastructure as Code concept via Terraform to the customer, in which we were able to move them away from their manually deployed single instance AWS infrastructure into an easily deployed multi-instance environment, with the ability to keep pace with their developers.
Solution Key Features
SourceFuse integrated the Serverless Application Framework with Terraform, so that shared resources are agnostic and can be provisioned for different technology platforms. We also implemented a highly available immutable Jenkins server ON AWS, and added auto-scalability utilizing a dynamic slave approach, by making use of:
- Docker images
- Custom Groovy scripts
- AWS Parameter Store
- AWS CloudWatch
This gives our client the ability to roll out the Jenkins server purely from code without any manual process in place, a robust way to integrate an entire sequence of build, test, and deployment tools as part of the development process.
Lastly, we integrated SonarQube into the CI pipeline to bring various forms of automated code analysis into the process to remove the manual efforts generally required by the development team. This automated process helped in keeping the financial application secure and least vulnerable.
The Results
Implementing an IaC model, we provided their development team with the ability to deploy new instances of their application and environment at any point in time. The solution gave the client the ability to roll out a complete replica of its infrastructure with the click of a button without the need for any error-prone human intervention.
This solution means developers now have access to an isolated environment in a centralized and stable QA environment, where they are free to make changes without impacting the application code base.
- Rapid Deployment: automation enabled them to quickly roll out development environments within 15 minutes rather than hours, as with their previous manual processes. Time to market is accelerated by decreasing the time it takes to develop, test, review, merge, and deploy code change.
- Actionable Alerts: integrating QA automation to the Pull Request/Merge workflow, developers are now notified of any breaking changes to existing functionality. This allows them to make corrections before merging the changes into the main code branch.
- Improved Visibility: real-time visibility of code quality is now possible, as a result of integrating SonarQube into the CI pipeline.
- Enhanced Productivity: the quality of the product and output from the development team has increased, leading to fewer production issues and reducing the rework.
About The Customer
A leading finance company, this customer provides a streamlined invoice and payment automation platform that brings Accounts Payable (AP) departments into the modern age. Its platform saves AP departments hundreds of hours annually, enhances visibility, increases accuracy, improves efficiency, and earns rebates while reducing paper, fraud risks, and operating costs.