Scale tax platform
Scale the existing tax platform by splitting the monolithic application into smaller scalable microservices.
* Developed application on spring-boot application, deployed in AWS as auto scaling groups using cloudformation with docker images.
* Consume events from AWS kinesis, Rabbit MQ and process them, storing data in AWS Postgres RDS and AWS Aurora DB.
* Improve scalability from 500 events per second to be able to handle 5000 events per second, run automated Jmeter tests after every merge.
* Use concourse pipelines for build and deploy.
* AWS Kinesis, AWS SQS, AWS RDS, AWS Aurora, AWS Lambda
Built a new mobile money platform with more than 15 microservices orchestrating the flow using service-flow pattern with each microservice interacting using Rabbit MQ.
* Built multiple microservices using service flow pattern which enables development of business processes in a configurable XML.
* Scale the batch processing of data from 1000 records in an hour to 1 Million records in under 2 minutes.
* Develop configurability on the fly using spring-cloud with configurable information on Git.
* Spring-boot, Spring Cloud
Points Core Management System
Rakuten is an e-commerce giant in Japan, which has points for loyalty. Japan Rakuten points were restricted to Japan, which couldn't be transitioned across affiliates of Rakuten nor across geographies. Points Core Management System was built to ensure the above problem was solved.
* Used Cassandra as the DB to solve the fast writes and ensure optimum reliability.
* Built the platform on spring-boot.
* Used chef to for deployment of applications.
* Spring boot
* Cassandra, MySQL
Leading Eroad tax team, building a system that analyzes the events that come across the stream, aggregate them and build the tax reports, trips of vehicles across months. Technologies used include AWS RDS, AWS SQS. The experience includes scaling the horizontal scaling of microservices as a function of the computing power.
Developer in Eroad Integration team that eases integration of Eroad with partners by designing and developing APIs using Spring framework, AWS Lambda, NoSQL DyamoDB and Postgres DB deployed.
The development is done using Agile practices and employing Continuous Deployment to the Eroad Depot on AWS cloud.
Lead developer for developing Mobiquity Financial Solutions, an e-money platform available through Mobile services. Involved in transformation from legacy code to micro-services architecture with 15 components, using a Service Flow Design pattern to optimize the development process. Components interacted using Rabbit MQ as a message broker, with the components using both Oracle for components that had legacy data model and PostgresSQL as database for the components that was new data model.
The entire development process was done as a part of strangulation gradually replacing the business process in the legacy with the business process developed in the new architecture.
The fundamental feature of the new architecture was to bring in maximum customizability with minimum code change, which was achieved using Spring Cloud for enabling run-time customization.
Design and develop Point Management System, a new Global Points Platform as a Platform as a Service (PaaS) for Rakuten for maintaining the Rakuten Points.
Involved in transforming the localized points platform to a global points platform. The platform was developed on Spring boot application with Cassandra as the database. Developed APIs that are to be consumed by the affiliate applications of Rakuten that deal with points and enabling a seamless transition from Local points platform to Global Points Platform.
Software developer with core Java/J2EE experience, built context based in application messaging platorm using XMPP. Apart from this built and enhanced technical monitoring tools of SAP applications¢:
The application exposed websocket APIs to perform following operations
- Register user
- Create groups, add user to group.
- Interact with the ERP/SCM application to obtain the context around communication based on requests.
- Send and receive messages in 1-1 chat or group user chat.
The application monitors and alerts based on computing metrics
- CPU utilization, memory consumption on application servers and GC collection.
- Monitor the availability of the system by constantly interacting with an end-point, raise appropriate alerts.
- Monitors the background job processing on the Java applications.
- Enabled templated monitoring and custom monitoring of SAP applications.
- Enabled specific process monitoring of SAP applications.