Case Study: Develop End-User Portal using Microservices
A financial services company wanted to rapidly develop a transactional portal for storing customer financial data and make the data available to customer service personnel.
PROBLEMS / CHALLENGES
The organization had made significant investments in its digital platforms and business optimization efforts but needed to streamline processes (such as allowing the customer service organization to access client records).
In a microservices architecture, multiple technologies are physically separated by a network and communicate with each other. For the end user, microservices create a seamless user experience. As a technology, microservices enable service level scaling and reduce infrastructure costs. Of course, poorly integrated systems can undermine these benefits resulting in data loss and integrity issues
The organization wanted to switch from their existing technologies to a modern microservices architecture. The new solution would be based on Salesforce.com, Cloudlanding.com, Amazon Web Services (AWS), and other platforms. The goal was to enable greater efficiency, and scalability, as well as reduce maintenance and support costs.
From a business perspective, the goal was maximum flexibility and versatility with as little code as possible.
Sphere’s developers embraced simplicity because simplicity is a prerequisite for reliability. The goal was code that is easy to understand, easy to change, and easy to debug. Services implemented were built on top of an AWS cloud architecture utilizing the following components:
- AWS Elastic Beanstalk – Rails & RoR services
- AWS Lambda – Clojure, Python
- AWS EC2 – Java
- ReactJS frontend
- Customer Dashboard
- Bank Verification
- State machine (decides what is the current step and what is next)
- Email/SMS Sender
- Live Chat
- Contract Generator
The financial portal takes login, user profile, transactions, notifications, and other reports as separate services defined by the business functionalities.
The approach for this project was all about flexibility and pairing the right tools to each microservices integration. The goal is to achieve the most flexible and scaleable microservices architecture.
The modernized, scalable solution uses microservices, has a high fault tolerance, and can be infinitely scaled as the company grows. More specifically, through the use of microservices, agile methodologies, and DevOps, applications are being created faster. In fact, deploying hotfixes (which used to take days) is now completed in just a few hours. The solution was implemented with no incidents.