Project Overview
A team of four Keyhole Software consultants worked to modernize an existing 15-year-old legacy application to use modern technologies and support multi-tenancy. The client is a global B2B payments and credit solutions provider.
Technology Overview
The front-end for this project was written using Vue.js and hosted on AWS using S3 and CloudFront. On the backend, the team worked with JavaScript using Node.js services that were all deployed to AWS.
The server-side application architecture, housed on the secure Amazon Web Services (AWS) cloud platform applied design patterns that support a microservices style of architecture. This style of server-side application architecture partitions application logic into separate services that are engaged by the application at runtime. This supports scalability and agility in adding and modifying features/functionality.
Consulting Areas of Note
Having a robust, automated software development environment is essential for agility to take hold, as well as to prevent a Microservice architecture devolving into a chaotic, hard-to-manage mess. Therefore, time was spent helping the client to implement a software development platform that automated the acquisition and configuring of physical computing resources along with building, testing, and deploying software artifacts to the environments (i.e. Dev, Test, Prod). This was accomplished using cloud-based computing infrastructure and container management frameworks such as Docker/Kubernetes, along with CI/CD and version control products, Jenkins and Git. Keyhole Software consultants worked with client staff to establish this computing platform.
Keyhole consultants focused on the build automation system in an effort to increase development efficiency. They worked on the build automation system involved using GitLab CI to automate deployments, GNU Make to greatly increase the developers’ productivity, and Terraform to allow developers to create individual instances of the entire infrastructure that was identical to the actual production environment.
Keyhole consultants were heavily involved in the design of the infrastructure. The team utilizes several of AWS’s serverless offerings, including Cognito, Lambda, and Step Function as well as creating microservices which run on Kubernetes and integrate with these serverless services.
From a UI/UX perspective, Keyhole personnel mocked up 40+ portal pages for the international service utilizing Sketch, Photoshop, and Illustrator. Consultants worked with the in-place pattern library for design continuity, while also adding many new patterns for newer elements. They also used Invision for prototyping and sending the assets to the development team.