Bajaj Markets is an award-winning digital financial services marketplace. We offer over 27 financial products to over a million customers. The products range across Loans, Insurance, Investment, and Payments.
We have, also, recently embarked upon an open market strategy where a customer is offered a choice from various other financial partners, to get the best product as per his needs.
As a digital marketplace for financial services, technology is the front and center of our strategy. Here, we give an inside view of the technology that powers this marketplace.
Our platform architecture is conceptualized on the modern web architecture approach for obtaining the key objectives of flexibility, scalability, agility & security. Over the last 3 years, we have built our platform by tapping the potential of digital technology that can help us provide the best products & offers to the customer.
There are 7 key strategies that underpin our architecture:
Microservices, also known as microservices architecture, is a style that structures the platform as a collection of services that are loosely coupled, highly maintainable, organized by business domains and independently deployed.
We have based our architecture on the domain driven design approach (DDD), to decompose our platform in microservices. We have over 300+ microservices that enable all functionalities of our platform.
Power of API ecosystem is well known, however, since the very start, we decided that we will follow the API first approach. Every capability that a microservice exposes is done through a set of Representational State Transfer (REST) APIs.
We have 3 levels of APIs:
A unique aspect of our platform is our omnichannel approach. Our key principle is to have a single view of process & data for customer self-service, call center & our field staff. This is done in two ways:
This enables us to deliver a pure omnichannel experience to customer, where he can start a journey that can be continued by a contact center staff and completed by the field team or vice versa.
Since we moved to an open market architecture and started integrating with a large number of partners, one challenge we faced is resilience & scalability due to the cascading effect of latency and failures in our partner systems.
We have addressed this through building an event-driven distributed architecture that gives us the required resiliency as it is designed for failure approach and enabling limitless horizontal scalability.
Analytics is core to our platform and is our key differentiator. We use Artificial learning/Machine Learning (AI/ML) for analyzing the customer information to identify their needs and give them a suitable offer. We also use a non-traditional approach for credit evaluation that can deliver the best lending products to our customers and manage risk for our principal partners.
We do not own any infrastructure and our entire platform is hosted on Amazon Web Services. We have built our platform natively on cloud by using a very large number of AWS Platform-As-A-Service (PaaS) offerings. These services free us from the complexity of managing infrastructure and enable us to focus on our application architecture and innovation.
Since we have a very diversified product set that is constantly evolving and we onboarding new partners as well, we deliver 1000+ releases every year i.e., we go live over 3 times a day. Having over 300+ microservices on the platform does not make it easy. This is where our DevOps pipeline comes in. Our DevOps ensures that the release and deployments to the production environment is a simple & accurate process with over 70% done automatically. Our DevOps gives us agility while maintaining the stability of our platform.
As the cloud native architecture is the foundation of our platform, our technology choices reflect that. The technology choices are in the following order:
Our web applications are built in Angular. As we follow microservices, newer web applications are built in newer versions of angular. For mobile applications, we have decided to go for native applications. We have built Kotlin based Android and Swift based iOS applications. However, there is one internal application used by our field force that is built as a hybrid application in Ionic Framework.
Most of our microservices are written in Spring Boot with Java 11. However, a few analytics services are written in Python & Flask. We are moving towards Python & Django for our microservices. All microservices are hosted in containers using AWS Elastic Container Service. All the APIs are documented using Swagger.
Adoption of event driven architecture required us to have a robust messaging platform. For application layer messaging, we use AWS SNS (Simple Notification Service) and SQS (Simple Queue Service). For large data layer messaging, we rely on AWS Kinesis.
Our database & storage strategy is a polyglot, with each microservices managing their own data based on a domain-driven bounded context approach. The key data storage technologies are:
As we host an online to offline e-commerce platform, it is hosted on open source Magento solution. We also have an in-built Store in Store solution using Pimcore product information management.
We use Jenkins as our primary DevOps engine, with most of the scripts written in Groovy & Python. We use Archiva for our binary repository and all our applications run in Docker containers.
For any technology, the key to success is the way the organization works and we are no different. We are proud of our agile way of working and hold a deep-rooted belief that people are the key to innovation and outputs. We have been constantly improving our way of working and building a culture of engineering excellence.
Our platform engineering consists of teams with each of them, having the ownership of a product e.g., Credit Card & Loans. Each team has:
This team is supported by other technology teams. They are as follows:
We believe that for any digital organization, quality is the key to a great customer experience. Our core quality assurance strategy lies in automation that enables us to continuously test our platform and deliver quality. Key areas of testing that we focus on are as follows:
All development changes go through automation testing primarily and manual testing for sanity.
As with any complex platform, it is important for us to proactively monitor the platform and address any issues before they impact our customer experience.
Our monitoring strategy has the following key components:
We fundamentally believe in agile methodology and use scrum as a process. The agile best practices are followed with a product backlog, sprint planning, 2-week sprints and retrospectives.
We rely on Atlassian toolsets of Jira & Confluence to drive our agile processes. We constantly seek both business & internal feedbacks to improve our way of working.