Enhancing Functionality with Multiple Framework
During the architectural design, we had to evaluate certain mission critical task that our product would execute and leaving no room for compromise. We went the extra mile during the architectural design phase, conducting extensive R&D to ensure that our product achieves optimal results.
One key aspect of our design was our API gateway and we had to accommodate lot of exceptional integration pre-defined. We prioritised reducing time-to-market for our customers rather than working on integration with Card Networks while implementation. Various exceptional features from Spring Cloud Gateway like Circuit Breakers and Rate limiting, DiscoveryClient and Configuration based rewriting, Distributed and Load balancing added more advantage. More over we never have any operational or business logic in our API gateway, which obviously impacts the throughput very often. But, why do we have so much of priority to our API Gateway without the operation or business logic? Routing can even happen through any other framework or just design with own tech stack. We built our API gateway to be robust over the long term in our product.
For our microservices, we needed a cloud-native, agnostic solution that could support various diverse functionalities. We required fast boot time, server less functionality, low memory consumption, faster response and most importantly the fast and better learning curve for the Engineering team. After thorough research and experimentation, we settled on Quarkus - Supersonic Subatomic Java framework. Is that all needed to built our product with Quarkus. No, it has reactive and imperative development method and compatible with Spring DI, Hibernate, etc., and simplified compilation and natively support microservices architecture. It helps to reduce RSS memory by 1/10 of the memory needed for a traditional cloud native platform. From 10 seconds to milliseconds of response time with Quarkus we achieved. We have achieved instant scale-up and density memory utilisation in container orchestration platforms like Kubernetes. After getting higher workload density, reducing overall costs for hardware and cloud compute and reduced memory utilisation was also a benefit for our Enterprise customers self hosted plan.
Is it required to use Spring and Quarkus parallelly? Both frame works can replace other but how to get the best out of it?
Just make the right one do the right job. It has to be a toughest decision as a Leader when you have new framework coming up with Functionality. Try a POC and see how ease the learning curve is, and that’s when you decide for bring in or taking out. Before the Engineering team starts implementing, leaders have to understand what flaw we might need to anticipate. Dependencies during implementation, supportive for other components, Security and patches availability for any vulnerabilities along with Risk mitigation should be done prior to deploying the framework in product. Our team has multiple leader who owns the process of bringing such evaluation together for building features and not just unilateral decision.
It shouldn’t be just frameworks but also thinking on a wider perspective on Tech as well. We have explored different dimensions of the Tech we use and one such was our DB arch.
Not every Engineering team could explore Multi-Modal Database as it requires specialised skill called ‘Innovation appetite’. Can’t disclose much information about our Multi-Modal DB but it helped us achieve something extraordinary feature along with a better performance on building Data store and it’s throughput. A Fintech SaaS product requires the Security by design when we handle data, and our DB architecture helped it with joint hands of Spring and Quarkus.
We are thrilled with the seamless interoperability and the excellent results we have achieved. Our engineering team worked tirelessly to bring all these components together and A big shoutout to the team for their effort and dedication!
#engineering #architecture #productdesign #microservices #APIgateway #Quarkus #multimodalDB #securitybydesign
Great read!