How Kenway Consulting’s innovative approach and deep technical expertise allowed a FinTech start-up to overcome significant performance barriers and scale their payment processing application by 450% in just 30 days.
Client Profile:
Background:
Kenway partnered with a start-up company specializing in FinTech application development that offers a suite of payment processing solutions that help people and organizations securely send money worldwide. Their payment products are used by organizations of all sizes, including Fortune 500, and have allowed them to securely send billions of dollars each year. Kenway was brought on for their application development and Azure expertise to help improve the performance of one of their new payment processing applications.
The Problem:
One of the client’s products, an application to process and validate transactions, was in late-stage development, and was functionally ready to be brought to customers. While the client was unaware of the volume required by customers, in terms of transactions per second, early load testing suggested that the original application could only support about 60 transactions per second. The initial architecture (see below) involved app services directly inserting records into a transactional database, leading to concerns around bottlenecking, and potential loss of records during API outages or periods of high volume.
During contract negotiations, the client felt that their current performance (60 transactions/second) may not be sufficient to satisfy the volume demand from clients for their FinTech application. Further, this requirement to improve transaction throughput coming late in the development cycle, left only a month to find a solution that would provide a significant improvement for the product. While the database itself was likely the restricting factor, the short timeline dictated the need for a cost-effective, innovative, efficient solution that would provide the needed throughput quickly.
The Solution:
Because the client had already scaled the existing database as big as possible within cost constraints, Kenway embarked on envisioning a new process. By only subtly modifying the existing architecture and configurations, Kenway was able to provide a cost-effective and very fast-to-implement solution that could support the required throughput.
Kenway reviewed the existing code and executed baseline and load tests against the architecture to understand the current capacity and find potential inefficiencies causing latency or errors in transmission. After making minor improvements to remove inefficiencies causing latency, Kenway configured staging resources in between the original app services and the existing database.
By segmenting the existing code base and introducing a staging area that could effectively throttle the number of entries being sent to the existing database, Kenway was able to reuse the architecture and avoid modifying the database itself. After re-platforming the original app services to function with a http trigger, Kenway introduced a storage queue to ensure that zero records would be lost during high volume transmission. To complement, the process was designed with a storage trigger using blob storage to hold the full transaction payloads, before it is sent to the final database.
On the other side of the storage queue, Kenway implemented function apps to directly pull messages from the blob storage and write entries to the database, a solution that is both elastic and able to be scaled horizontally. Because customer requirements dictated the need to scale based on number of transactions, new app configurations allowed for event-driven scaling to both increase and decrease capacity of the applications based on current transaction volume or even potential API outage. The pairing of these Azure functions together allows for the designed app services to continue to work at their full potential, while eliminating the bottle necks and realized risks that stemmed from the direct connection between API and database.
The Result:
Faced with an extremely short timeline of one month to increase transaction throughput as much as possible, Kenway stepped in with expertise in FinTech application development, applied existing knowledge and experienced resources, and provided an innovative, fast, and comparatively, cheap solution. Kenway’s deep experience with Azure, partnered with a mindset of determination and creative thinking, allowed Kenway and the client to experiment confidently towards an unknown goal.
During the rapid redesign phase along with continued contract negotiations, the client’s customer’s needs became defined, a peak requirement of 180 transactions per second.
By introducing this staging area, backed by the Azure cloud, the client was able to push their current architecture to comfortably process 250 number of transactions per second, all without major changes to the codebase or existing logic.
Equally as important as volume, the introduction of a storage queue combined with function apps guarantees that all transaction records will be stored securely short-term before being successfully delivered to the master database, a necessary function for this custom application.
The inclusion of both a storage queue and function apps provided an elastic solution that can, and will, scale with the introduction of new databases as customer requirements continue to change and demand more volume. The new scalable architecture will support a potentially very high throughput and successful delivery to the database with very minimal changes in the future. While the goal was met, Kenway additionally made other recommendations on long-term code improvements and other inefficiencies still existing with original app services and database.
CONCLUSION
By leveraging Azure cloud solutions and designing a scalable, cost-effective scalable architecture, Kenway not only met the client’s immediate needs but also provided a sustainable framework for future growth. Kenway’s ability to swiftly diagnose bottlenecks and implement cutting-edge solutions demonstrates our commitment to delivering high-impact results on aggressive timelines. If you are facing similar challenges or are interested in exploring how Kenway can help optimize your operations, please don’t hesitate to contact us to start the conversation.