Platform Migration Strategy: Refactor a Legacy Monolithic into Microservices
The client has a strategic vision for the development of his enterprise. The main goal was to develop a new cost-effective architecture that included moving from server rentals to the cloud and reducing operational costs.
To maintain its reputation as an innovative business, the client's company had to improve its operations and deliver different automated user scenarios for individual and corporate clients. This ambition was achieved after the automation of system workflows.
Also, the client's web application was full of legacy code, so another goal was to refactor it and break up the monolithic architecture into microservices.
After thoroughly analyzing the customer’s requirements and goals, we divided the process into sprints and presented the new architecture to the client.
To fulfill the client's objectives, we created a team of a Project Manager, a Business Analyst, a UI/UX Designer, 2 Front-End developers, 2 Back-End Java developers, a Back-End Python developer, and 2 Quality Assurance engineers. We also cooperated with part-time DevOps to set up cloud infrastructure.
Since transitioning to microservices is a sophisticated and long-term process, we needed to define the most suitable strategy to match the application's functionality and services.
Standard financial operations, like user verification, account management, and crediting are time-consuming and involve the interaction of multiple services. For this reason, we used asynchronous services communication methodology to ensure system reliability under stress conditions like failures, invoicing, and multiple retries. This methodology choice prevents risks related to the system's high load. Jelvix specialists identified critical boundaries that required the most capacity and effort and were prioritized for extraction.
Since the backlog included tasks for implementing Machine Learning for verification and crediting processes, we conducted an additional investigation to test potential use cases and hypotheses. After reaching successful concept testing results, the feature development started.
With Jelvix DevOps, we built the new infrastructure for cloud storage and processed system migration from a rented server.
The transition to microservices solved legacy code issues and changed the way the system fundamentally works. The new microservice-oriented architecture makes the system flexible and ready to adopt changes without redeploying the entire system. This approach allows the prevention of risks related to releasing new features.
New user verification and crediting features delivered with ML have reduced staff workload by 70% and made the bank more appealing to clients and businesses through smooth and fast account and loan approvals.
The operational and maintenance costs have also been reduced efficiently with the transition to a cloud storage solution.
The monolithic-to-microservices transition is a complex process, but the Jelvix team delivered and implemented the new architecture in only 18 months. Apart from scooping out monolith components and creating microservices, we created cloud architecture and reduced data storage maintenance costs.
We processed the transition gradually without breaking the existing processes in the old system. The new software solution is ready to adopt innovation, easy to update and manage, and appreciated by customers and enterprise stakeholders.