How many times did you hear about Microservices?
The term Microservice or more precise Microservice Architecture is used to describe a way of designing software applications as set of autonomous, independent services.
Before we start with Microservices, you need to understand what Monolithic Architecture is and what are the challenges which come together with that approach. The simplest way for describing monolithic architecture is to compare it with a big container where is stored all components of an application. Monolithic Applications are often built in three main parts:
-
- A client-side user interface
- A server-side application
- A database
Most common challenges of monolithic architecture approach:
Scalability – Even a small change to the system requires rebuilt, test and deploy a new version of application. That means it is not so easy to implement changes in a very short time frame.
Reliability – If one module of system doesn’t work, entire system does not work. High risk and not an easy way to mitigate and solve issues.
Modularity – Changing one module in system will affects to all other modules which are part of entire system. This is causing more advanced testing procedures to secure full reliability which also takes more time.
Why Microservices?
Microservice Architecture is an alternative pattern for breaking application into smaller components. Unlike monolithic architecture, which consists of one element, microservices are collection of small independently deployable services organized around business capability. The main idea of this approach is that applications are simpler to build and maintain if it is broken into smaller pieces (services) that work together usually communicate each other through APIs.
Benefits of Microservices:
Decoupling – One system is decoupled into several independent services. Each service can be independently updated, deployed and scaled without affecting on other services.
Better fault isolation – Microservice architecture reduce the risk of stop working entire system, even if one service of the application doesn’t work.
Faster Deployments – Microservices architecture is compatible with CI/CD (Continuous Integration, Continuous Delivery) development pattern and container methodologies.
Innovation Through Polyglot Programming – Developers have the freedom to use programming languages and technologies of their project.
Focused, Productive Teams – The biggest strength of microservice approach is creating small independent teams who can implement some functionality and introduce them faster to market.
What does that mean for the business & innovation teams within the bank?
Following a Microservice & Cloud approach, banks can focus on innovating and optimizing their products and services towards their customers. Flexibility, speed and low dependencies across the technology stack are strong advantage for fostering faster time to market of new services/products, less risky technology deployments and thus increasing Customer focus and value for their Customers.
What does that mean for us as a Software Product company?
Knowing all these challenges we focused on the migration of our Software Product stack from monolithic architecture to microservices architecture in the recent years. First step in that journey was the decoupling of our Digital Lending Module from entire Digital Banking Solution. “Forms-Engine” microservice was first one which we decoupled, followed by other microservices such as One-time password, Notification microservice and many others.
As a result of this new approach we currently have several development teams fully independent for implementing different Digital Banking processes and products, with faster time to market, supported by automated deployment process from development to production stage, which is securing the flexibility, speed and reliability our banking partners are requesting.
Moving forward to cloud
Faced with rising competition from startups, with COVID-19 pandemic, banks are increasingly moving to the cloud, finds a new Google Cloud study:
Inline with this aproach we designed the “Out-of-the-Box” Digital Banking Solution Fintense, using our best practices from cooperations with banks across the world. Fintense Digital Banking Solution is built on modular microservice architecture, thus provides to Retail & SME Banks the right enabler for state of the art Digital Leadership.
Stay tuned to find out more about how the microservice approach can affect your business, get in touch with us to discuss details around Digital Cloud Banking and modular implementation of Digital Banking in your organisation.
Nikola Ždero
Director of Strategic Partnerships