Software development

The microservice metamorphosis

The microservice metamorphosis

Through the experience we have gained in the abstraction of core banking platforms and defining APIs at the appropriate granularity for each client environment, along with our experience in building cloud-native client-facing applications that can scale independently of the core banking platform, we understand what it takes to digitally transform the banking sector.

With an undeniable global trend towards digital transformation programmes, banking is one of the sectors undergoing a major software metamorphosis. “As typically early adopters, we have not only seen, but enabled banks to move to large on-premise monolithic structures, to microservice-based platforms hosted in the cloud” explains Matthew Barnard, executive head of banking at BBD. Barnard goes on to say that many of the projects BBD take on are part of these larger core banking transformation programmes.

As financial service systems are a very complex set of mature products, processes and data, banks are taking the following approaches to the problem:

• Transforming from the inside out
• Building new offerings entirely on the side
• Becoming a platform and offering services to external FinTechs via Application Program Interfaces or APIs

These approaches to updating the current monolithic architectures are also being combined with new ways of working (Agile, Lean, etc.) and new modern technologies such as cloud, microservices, containerisation, REST APIs and big data.

“Unfortunately, we’ve noticed that many of these newer ways of working and technologies are tripping large companies up and showing down their journeys, rather than speeding them up as they hoped.” Large regulated financial service institutions are not like Spotify, Netflix or Square, are much more intricate and must deal with legacy systems, and data and organisational complexity. Barnard explains that these large institutions many sophisticated products in a highly regulated financial infrastructure and make use of multiple core systems that make up the overall banking platform. The fact of the matter is that these new ways of working are not a silver bullet; they don’t automatically introduce a ten or hundredfold improvement in delivery time.

We take a pragmatic approach to our role in these large transformation projects, using newer tech and approaches only where appropriate. It’s ultimately about what will work best for each operation.

Although microservice-based architecture has many benefits, a common mistake is to jump into them and immediately try break the complex banking domain into many finely grained services, containerise these and then scale the infrastructure on to the private or public cloud. This approach leads to more complexity in the calls between the multiple microservices, and ultimately to the failure of the new technology initiative.

“And it’s not because the technology doesn’t work, but rather that there is a lack of understanding around the intricate banking domain; and that it’s not often the infrastructure that even needs to scale.” Our pragmatic approach is to first integrate coarsely grained APIs into the existing back-end capabilities as REST Web Services, supported by microservices, Java, ESB, or our own service platform accelerator, and then manage both existing and new business processes across these coarsely grained APIs.

We try to steer away from unnecessarily using new technologies in this core banking space for multiple reasons, some of which include:

• Limited technology skills available inside banks
• The circuitous banking domain
• No need to always add scale as the core systems are often able to process transactions at scale already

“In this initial stage, we are not looking for the benefits of scaling, but rather for the benefits of abstracting some of the core systems into the beginning of a banking service platform.”

The latest technologies are often used in digital front-ends while our supporting back-end integrates into the coarsely grained APIs into a newer and more innovative offering without having to completely re-engineer the core systems. Front-end digital capabilities can be built in-house or by FinTech service providers – independently from the back-end.

It’s therefore possible to move quickly and use the ‘latest and greatest’ technology in the front-end.

Key capabilities that have been exposed through REST APIs include account onboarding, current accounts, home loans, value added services and card management. Investment banking project experience includes foreign exchange, investment products and trade finance capabilities.

As the client offering matures and front-ends start to demand scale, BBD would use our experience to refine the granularity of the APIs where needed and where issues or bottlenecks crop up.

What’s next? We’re ready!