Introducing microservices provides the flexibility to deliver new products and stay competitive
In August 2014, African Bank faced a liquidity crisis. In the days following the shock revelation that it expected to lose ZAR 6.4 billion, along with the resignation of chief executive Leon Kirkinis, the Governor of the South African Reserve Bank announced that the bank would be removed from its holding company ABIL and be placed under curatorship.
The Bank was to receive R10 billion in funding. The six major South African Banks provided R2.5 billion, the Public Investment Company (PIC) provided R2.5 billion and R5 billion was received from the Reserve Bank, all of whom in turn became shareholders of the Bank.
One of the key requirements of the funding was that the Bank would diversify and de-risk its product offerings away from a monoline product, which at that time was the provision of unsecured or personal loans.
The organisation would have to take the opposite tack of its previous business model: splitting up the trundling, old infrastructure of the predominantly bricks-and-mortar company and pivoting towards a fast, flexible digital banking model. This would be empowered by a new network of application programming interfaces (APIs), built with bleeding-edge technologies, such as containers and microservices, technologies that centre the developer as the beating heart of an organisation.
Starting from a greenfield API infrastructure, the bank decided to plough forward with an omni-channel approach; in other words, engaging with customers physically and digitally.
But digital-first offerings require a great deal of internal and external communication. These are supported by APIs, which enable applications, systems, and devices to talk to one another.
Traditionally, applications would communicate with a central library on a server, and fetch whatever was requested. With a microservices approach, each of the ‘services’ is a self-contained unit that performs its function. The ‘application’ is the compromised of the co-ordination of all the discrete components to deliver the whole app.
Whereas issuing a new feature of a centralised application – a monolith – requires redeploying the entire structure, a microservices model is decentralised as much as it can be, which means updates can be made one function at a time rather than taking the whole thing offline and putting it up again. This is crucial for limiting downtime and matching the high expectations of the 21st-century digital consumer.
Only a nimble, microservices architecture would provide the bank with the flexibility to deliver these new digital services to customers quickly enough.
It would only achieve this by automating as much as it could, leaving the high-stakes creative work to the developers and the busy work to the machines. Ushering in such a machine-assisted way of working also required engineering a new mode of thinking throughout the organisation, one which was agile and collaborative, dissolving barriers between teams, and enabling the company to make changes to systems on the fly, rather than rebuilding and redeploying over time.
The social side of the coin was the trickiest proposition to nail. By blurring the lines between teams, who were traditionally used to running their own patches, it was vital to explain the roadmap from the start, ensuring all involved felt they were meaningful stakeholders, with a sense of mission towards the wider improved process.
“When there’s a lot of people and you have to try and change the way of thinking, you have to try and get everyone aligned behind the common goal. I think that’s more of a challenge than just rolling out new technology,” says African Bank technical architect, Fintan Wilson.
“It goes beyond the developers when you operationalise. When you’re trying to take these to production and support things, it affects those teams and people as well. They’re not always open to learning, particularly when things are changing as fast as they are in this day and age.
“You almost have to cherry pick the technologies that are going to add the most value, knowing you’re going to have those people problems in rolling them out.”
But being conscious of these hurdles early on, and choosing the appropriate technologies, helped smooth the process.
As well as creating a new series of APIs with a containerised, microservices model, Wilson and his team established a set of guidelines for developers to operate within. This included giving them more permissions around last-mile routing, which dramatically accelerated rolling out applications.
“I remember looking at the environment, and I didn’t expect it to have grown that quickly,” says Wilson. “Being able to give developers a little more network flexibility within the application helped us to roll out what we have today.”
New features built with microservices can be rolled out in real time and are customised in such a way to only deliver services the individual customer actually wants and needs.
Scaling to meet demand
At the same time, African Bank is able to scale its offerings to meet demand, providing resources as they are necessary, and this developer-centric model means it can rapidly chop and change its portfolio, with no downtime. It has set itself up to be able to adopt exciting technologies to come, and is in a position now where it can dedicate resources to automating more of the development pipeline, and moving even faster.
While the bank’s circumstances were particular to its situation, the technical and collaboration challenges it faced are far from unique. Many will find themselves chained to old infrastructure, or skirt too close to their own danger zone. Competition is fiercer than it has ever been, and absolutely central to challenging, or remaining, the incumbent in a market are speed, flexibility, and the intelligent allocation of resources.
But the rewards are not unique either, such as dramatically quicker time to release software, and therefore better serve customers and their modern expectations, with a cohesive, agile workforce collaborating towards common business goals.
Applications define our world. Some 69 per cent of all organisations, according to F5’s 2020 State of Application Services Report, use 10 or more applications services, and 62 per cent acknowledge that without applications their business could not operate at all.
Although many businesses have already started their own digital-transformation initiatives, the phrase can be woolly and open to interpretation. Many are hamstrung by their existing architecture, unsure where to start, or not yet moving quickly enough to compete in an unprecedentedly rapid climate, where businesses feel time-to-market pressures more acutely than ever.
The future will move even faster. Read Success through disruption: moving fast in a digital world to learn what the latest technologies can do for your organisation, a concrete programme for achieving that powerful developer-centric mindset, common challenges and how to solve them, and the enticing technology prospects to come… if you lay the groundwork now.