Platform micro-services will have a big impact in 2023

4 January 2023

There’s a reason we keep banging on about micro-services, says Eden Scrivenger, chief technology officer, Novia.

Technology evolves quickly. Not much of a spoiler alert, granted. As we enter the third wave of platforms in the UK, we are leaving behind the gigantism of monolithic code bases and evolving into microservices capable of delivering discrete, plug-and-play solutions to each new challenge the regulations or client requirements present.

Rob Kingsbury’s article on microservices in November 2022 looked at that evolution from fund supermarkets, to wraps, to being on the cusp of the next meaningful change: platform ecosystems driven by connected microservices.

The large monolithic, single code base systems that have dominated the platform world for nearly two decades are set to be replaced by more flexible technology solutions, powered by ecosystems of microservices, that are increasingly digital, data driven and heavily integrated into other technologies.

I’d like to take that further and look at how microservices are already delivering in everyday life and what we can expect them to deliver for platform users now and in the near future.

Doing one job and doing it well

When it comes to responsive platform technology capable of future-proofing firms and the platforms they use, small is most definitely beautiful. These independent modules of software, designed to focus on one function without interfering with the code or testing of other functions, have already revolutionised many services we use daily.

Scalability and reliability in the real world – Uber and Netflix

When the ride-hailing firm Uber launched in 2009, it did so as a monolithic platform using a single code base. As do most platforms in our sector. Before long, the Uber platform became a tangled web of components, with everything in it trying to serve every function. Like a plate of spaghetti!

Uber found out very quickly that this approach was hard to scale and it was difficult to make changes or to deal with issues quickly without taking down the whole system.

At the root of the problem was the fact that the number of people searching for rides was far larger than the number of people actually booking and paying for them. These vastly different numbers of the types of activity being performed in the same app stymied any attempts to scale up.

Uber eventually shifted to a microservices model, splitting up functions such as search, booking, and payments into individual modules. They were then able to resource the activities according to the actual demand for them thereby improving the performance of each activity in app, as well as their commercials.

Netflix, too, switched to microservices after its platform was forced offline for three days in the early 2000s while its developers tried to isolate and fix a problem in the code. A bit like trying to get to down to the fourth layer in a lasagne – there is only one way and it means disturbing all the other layers on the way down.

Had the streaming giant been using microservices, its system would have remained in action as it would have able to go straight to the problem, already isolated in its discrete parcel of code. In this regard, microservices are the ravioli of technology.  These discrete parcels of code can be built, changed, fixed, enhanced without disturbing the rest of the system or requiring extensive and time-consuming regression testing.

From pasta to hot water

Using a single code base can, at times, feel like having a shower while the hot taps are running elsewhere in the house. The boiler struggles to keep up. Everything slows down and the shower runs cold.

Users of platforms reliant on monolithic single code bases experience that strain in a number of ways. Monthly fee runs have been known to take 23 hours. A purpose built microservice ‘wakes up’ once a month and pulls out the data it needs, gets on with calculations and sends the information back to the core system to charge the fees in two minutes.

Calculating Mifid II costs and charges schedules is anything but simple at the moment. And many platforms are constrained to a limited date range.  A microservice can give complete flexibility, including on reporting timeframes.

“We keep banging the drum on microservices because the solution to each new challenge – and they will keep on coming – starts with a blank sheet of paper and can be designed with the customer in mind. Rather than being limited by the constraints of the existing and often ageing system.”

No compromise

With so many different technology languages available, it makes sense that different service offerings might be best coded and developed in different technologies.

Microservices ensure that the best and most appropriate technology solution can be applied to each service without any concerns of incompatibility. Trying to create the best solution for each service within a single code base ultimately leads to a compromised solution.

As individual microservices are written in different code, they can be scaled independently, and new services added without requiring downtime and redeployment of the entire code base.

Continuous delivery

Adopting a microservices architecture allows different teams to develop, test, deploy and update different services independently, ensuring faster deployment and creating better outcomes for paraplanners and their clients.

An additional advantage of microservices is in the automation of testing which isn’t available on the single supplier, monolithic route. This reduces risk and allows for speedier upgrades throughout the tech ecosystem.

There is no right way to create a platform. But microservices have clear advantages over a traditional monolithic approach, in terms of simplicity, efficiency and scalability. For those reasons, and many more, we’ll continue to make the case for ravioli and hot showers.

Professional Paraplanner