CONTACT

The Client

The client is a FinTech startup building an ecosystem of financial services linked to the payroll. Client’s product is a safe & secure digital payment platform which can be used to access liquidity, avail financing options or borrow.
They have developed a SaaS which runs on an IaC platform where their clients can create a platform for lending money to the customers for different applications including loan, bill payment, direct/indirect merchant purchase. The core concept of the business is to collect the installments directly from salary accounts as soon as it is credited to avoid further complication in managing multiple accounts for repayment.

Service Offerings

Services

Architecture Design
Backend Development
Frontend Development
DevOps
Quality Assurance

Tech Stack Used

Springboot Microservices

React

Camel

Apache Pulsar

Firebase

RPA

GCP

Ingress controller

KONG

Keycloak SSO

AXON server

Finerect

Datapartners (Argyle, Pinwheel & Atomify)

Mysql

MongoDB

EKS Layer

HPA for Cluster

Problem Statement

The client’s product is a digital payment transaction platform with seamless transactions possible across any interface to any location breaking down time,cost and location barriers.
The client wanted to build a modular and scalable multi-tenant SAAS platform on cloud native architecture while being independent of cloud providers. Since it was a financial services product, security was also a paramount concern. The other major consideration was the plug and play aspect of the platform – the platform should allow for integration with other financial services.

Solution

After evaluating the business requirement and the problem statement, we recommended a domain driven, reactive microservice architecture that can be terraformed to different cloud vendors. Microservices and APIs were developed using Java and Spring Web MVC. We used React JS to build the web application. We designed and configured Blue-Green deployment to reduce downtime and risk. DevOps integration was implemented using Jenkins.

  • The services communicate with the help of axon server and apache pulsar based on event streaming and pub-sub.
  • Data transformations are done with the help of camels.
  • Synchronous executions are queued.
  • Data is stored via mongo and cached using redis.
  • Authentication and authorization is managed by a combination of Keycloak SSO and Kong gateway in cluster nodes.
  • Application specific services are maintained via eureka and kong.
  • Multi tenancy is achieved with the help of realms and database separation.
  • DevOps Infra as Code solution independent of cloud platforms was designed. Based on the needs and configurations, infra creation was automated.

Architecture

Base application architecture overview is as follows:

Challenges

While Serverless computing is an attractive proposition, it presents new challenges.

  • Developers need to quickly learn and adapt to work with new tools specific to domain driven CQRS development, and deployment.
  • The RPA functionality part uses FaaS and it is relatively new and presents the possible risk of vendor lock-in.
  • Orchestration and choreography of different services posed a challenge as the communication can differ according to the end platform requirement.
  • As the service is for the general public, the volume of data and processing needs to be scaled without relying on manual intervention.

Results

By implementing IaC, microservices architecture and DevOps, we achieved the following results for the client.

  • Multilevel security enforced
  • Designed and implemented Cloud independent DevOps
  • Designed Horizontal auto scaling of microservices based on load
  • Well established Resilience and disaster recovery
  • Orchestrated communication that can adapt to different business requirements

How can we help you?

Get in touch with us to schedule a consultation