Moving from Monolithic to Microservices in Banking — A Progressive Transformation Approach

George Achillias
Sep 3, 2018 · 4 min read

Moving from Monolithic to Microservices in Banking — A Progressive Transformation Approach

1. Introduction

The purpose of this paper is to present the view of Alite International on the move from a traditional Monolithic architecture into Microservices in a transactional, banking environment.

This paper will be focusing on the initial step of the analysis of the circumstances needed to initiate such a transformation and our consultancy vision of it. It should serve as a starting point of the analysis and a deeper assessment of a bank’s environment, which would ultimately lead to selecting the proper approach and technologies.

On enterprise level, it is not uncommon to find both monolithic and microservices architectures at one place as the means of fulfilling the IT needs. Each of them has its own merits, as well as significant shortcomings. It is our intention in this paper to try and shape this view in a way most fitting to the Banking puzzle.

2. Basics

Before delving deeper into our recommendation we would like to recap some of the basic concepts about Monolithic and Microservices:

1) Monolitic vs Microservice

2) It is possible to move from Monolithic to Microservice

In order to prove this, we would like to expose an interesting approach that can be followed when a new application is built: to start monolithic-first.

When building a new application it can be recommended to start monolithic first, and to evolve into a microservice architecture, gradually decoupling services. This approach eliminates the need to define all microservices at start and allows to focus on discovering and shaping the solution. On the other hand, paying attention to the modularity of the functions, APIs and data will simplify the approach. In this way, it will be ready to evolve into a microservice architecture only when the solution is becoming complex.

Unfortunately already built applications have not been architected with having a future transformation into microservices in mind, and in certain cases a complete transformation from monolithic into microservice might not be possible.

However, keeping a full monolithic application is not recommended anymore due to the fast evolving technologies and market. It is becoming virtually impossible to keep up with the pace of transformation and digitalisation of the business world and keeping up with the competition if you are running on a slow and inert legacy infrastructure. Then we need to ask: how to do the transition to a microservice architecture that can also guarantee transactional safety (that it lacks by nature) to the banking industry?

3. The Move

It is our belief that moving from a banking solution composed by monolithic applications to a microservice architecture is in fact possible by following three directives:

· a progressive transformation approach

· adopting a DevOps culture

· adopt a technology (hybrid) that can bridge the gap between monolithic and microservices

A progressive transformation approach:

· keep a monolithic core of critical services that cannot be decoupled into microservices but transform everything else.

· the progressive approach will evolve the architecture into a microservice architecture step by step:

a. decouple current functionalities that are eligible to become microservices

b. implementing new functionalities as Microservices;

c. use the hybrid technology for all microservices that requires transactional safety (see below)

Adopting a DevOpsCulture:

A microservice application delivers the expectation if combined with Continuous Delivery (rapid deployment and provisioning) and monitoring. These capabilities imply an important organizational shift — close collaboration between developers and operations. There are maturity models that we have extensively worked with in the past while helping organizations as they move more and more into microservices.

Technology (hybrid):

The microservices concept suggests each business functionality includes all of its associated components: database, messaging, web tier and such. The main issue is to address the transactional consistency in the application.

One possible approach is to consider In-Memory Computing to create an architecture that could bring be best of both worlds, Microservices and Monolithic. A cluster of machines that can work together to create a resilient shared data fabric for low-latency data and transaction processing, resulting in a Low-latency Microservice Platform.

4. Conclusions

An assessment of the current setup and environment, and an in-depth analysis of the current architecture and functionalities prior to any specific solution or technology adaptation is recommended. However, there are ways to evolve and transform into a modern infrastructure without disrupting the core business functionalities.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade