We helped to migrate a legacy monolithic app to Microservices
-
Industry
Banking | Finance
-
Project type
Desktop
Description
Our client was a major global bank. Some years later after the implementation of the software, their corporate monolithic app became rather difficult and inefficient to use.
The monolithic architecture is built as a single whole and the majority of legacy apps have this form. When it is necessary to introduce one update to the app, all development teams have to coordinate their work in order to make sure that the introduced update won’t have any negative impact on other components of the app and to introduce the necessary changes. For the global app, this monolithic architecture meant that it could take really a lot of time to introduce even the smallest updates to the app. Moreover, the process of app deployment was conducted manually and involved some bugs which led to additional delays and disappointments. The bank decided to change the architecture of the app and contacted us with a request to migrate the app to microservices on AWS.
It is difficult to update code in parts due to the dependency of some components.
It is rather challenging to scale the software because of the close co-relation between data.
Project Team size
- Project manager
- 10 Developers
- QA engineer
Solutions
We began to study how the monolithic app worked in order to identify the priority components of the app that we had to break into microservices and migrate to AWS.
Identification of logic components
Component refactoring
Detection of dependencies and groups of components
Creation of a remote user interface API. This remote API is intended for organizing the interaction between the app, its components, and users.
Migration of component groups to macroservices. To do it, we transferred the defined groups to separate projects and conducted their separate deployment.
Migration of macroservices to microservices
We also conducted module and integration testing in order not only to enhance the development process but also to help to document the behavior of components and avoid any possible mistakes in the future.
Technologies
- used in the project
- Delphi
- Microsoft SQL Server
- VCL
- DevExpress
Outcome
Using microservices on AWS, hundreds of developers who work at the bank’s offices all over the world got the possibility to scale the app horizontally and cut the development cycle time, and at the same time provide clients with real value quickly, gradually, and consistently.
Thanks to the deployment process automatization, the bank can deploy new features for clients within a couple of hours, not days.