Written by Benedict Xavier, Head – Payments Specialist Digital Banking, FSS
Microservices are more commonly known for being the IT model that helped Netflix and Amazon scale to millions of customers worldwide. Netflix and Amazon are, however, not the only companies taking advantage of a scalable IT architecture. The Microservice model has grown to become a vital asset for the financial sector on its journey to digital transformation.
Importance of Microservices Architecture for Financial Institutions
Microservices are the antithesis to slow-moving monolithic systems. They break down these monolithic systems into small independent services that operate highly decoupled and self-contained. The benefits of increased an IT infrastructure that offers more scalability, security and reliability allow financial organisations to move fast, stay proactive and constantly innovate.
Microservices are developed to solve the inherent problem of monolithic design by breaking up applications into smaller, loosely coupled and independently deployable services. Streaming-giant Netflix moved to a microservice architecture after the company suffered an IT outage in 2008, which was caused by major database corruption.
The microservices market is anticipated to reach $32 billion by 2023 as the model becomes more popular over the coming years. The success of businesses such as Amazon, PayPal, Capital One, and Monzo have demonstrated the capability to rapidly scale and deliver value owing to their microservices architecture.
What are the Challenges for Microservices?
Organisations considering the move have to be aware that the evolution from monolithic infrastructure to a microservices architecture is not always straightforward. It relies on the right partner with the right know-how.
A transition to microservices can be particularly painful for banks and financial institutions relying on batch-based processing, a largely monolithic architecture and ancient systems by today’s technology standards.
Customer-facing applications, like mobile apps, rely on fast development and release cycles to keep up with consumer demands. The challenge for financial institutions are the often complex data dependencies.
Mobile banking applications may be developed and launched using an agile methodology, and yet where they rely on core banking architectures this can cause delays after launch in the development pipeline. A recent survey shows 29 per cent of businesses struggle with delays in their deployment cycles while 16 per cent are failing to meet delivery deadlines. Amongst banks, those figures are expected to be much higher.
What are the Benefits of Microservices?
Where banks and other financial institutions get microservices right, the advantages are many:
- Microservices enable developers to change and re-deploy software without fear of compromising the core application.
- App updates can be developed and deployed in hours.
- The infrastructure can be easily replicated for effective growth in users and transaction volumes.
- Code is much less interdependent reducing the infrastructure’s failure footprint.
- Greater coding language freedom and flexibility.
- Improved security is a key factor since services can be isolated and a security breach does not have to threaten an entire application.
- Auto scale deployment basis transaction volume and load.
These considerable advantages rely on a robust IT strategy. To run a microservices infrastructure, the entire organisation must align its operations as well as its IT units and leaders. Team sizes may adapt or shrink and DevOps practices and methodologies have to be adopted for a larger number of services to fully benefit from automated deployments.
Organisations need to have a highly optimised organizational communication tools and processes in place to trace, alert, and recover any faulty services. There are many microservice architecture patterns and event-driven microservice architecture patterns. An event-driven micro service architecture is where a service performs some piece of work that other services in the architecture might be interested in and that service produces an event. The event is a record of the performed action other services consume to perform any of their own tasks needed as a result of the event.
The microservices event pattern offers several advantages which include:
- Event-based architectures are asynchronous without blocking. Resources move freely to the next task once their unit of work is complete. Events can be queued or buffered which prevents consumers from putting back pressure on producers or blocking them.
- Loose Coupling: Services do not require knowledge and dependencies on other services. Services operate independently and can be updated, tested, and deployed independently and more easily.
- Easy Scaling: Since the services are decoupled tracking down bottlenecks scaling that service becomes easy.
- Recovery Support: An event-driven architecture can recover lost work by replaying events from the past.
A microservice defines the blueprint for financial services. Microservice as a service:
- needs a very well-defined purpose
- runs in its on process
- communicates most likely through HTTP API
- can be stopped and started independently of other services
- can be upgraded and downgraded independently of other services
- should have no knowledge of other services be able to “act on its own”
There are two ways to move your current platform to microservices. First, replicate your current platform and create a ‘clone’ using microservices. Second, take each small piece of your platform and recreate that piece by piece using a microservice.
The best approach to move to microservices lies between the two extremes where you do not change your entire architecture all at once and consider every single microservice still as part of a whole. Many get tempted to take a small piece and just start to build without thinking about its broader implications, for example, the related database and its security functionalities.
Microservices offer financial institutions much needed agility, yet how you build your microservice architecture is likely to define its long-term success.