We helped to migrate a legacy monolithic app to Microservices

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.

3 500 000+
lines of code
Over 20
year-old code
13
months for realization
Project manager
10 Developers
QA engineer
Programming languages
Delphi
IDEs
Delphi
DBMS
Microsoft SQL Server
Frameworks
VCL
3rd party components
DevExpress, Orpheus, OmniXML, TMS VCL UI Pack
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.

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.

We defined the following steps in the migration process:

  • 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.

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.

Talk to us and get your project moving
Book a free consultation with a solution expert
Name
This field is required
E-mail
Company web site
This field is required
Phone Number
This field is required

Subscribe to our newsletter and get amazing content right in your inbox.

You can unsubscribe from the newsletter at any time

This field is required
This field is required Invalid email address

You're almost there...

A confirmation was sent to your email

confirm your subscription, make sure to check
your promotions/spam folder