Automating away IT operations: How Oakbrook Finance runs Likely Loans on Microservices and MongoDB Atlas
April 2, 2019
Matt Bettinson really likes automation. He likes it when things just work. Matt's an infrastructure engineer, which means he's part of the team that is responsible for building and managing the technology platform that allows hundreds of thousands of people to responsibly seek financial support from Oakbrook Finance and its flagship product Likely Loans. As you can imagine, it's not a simple job and a couple of years back Matt's team had a problem: time. There wasn't enough of it.
Oakbrook Finance is a Nottingham-based consumer finance business that offers loans using technology and machine learning to help estimate borrowers' credit risk. Through Likely Loans, Oakbrook specialises in helping those people who don't have a strong credit history and may not be served by high-street banks. In 2018 Oakbrook ranked 16th in the annual The Sunday Times Hiscox Tech Track 100 list of the UK's fastest growing private technology, media, and telecoms companies.
But building that business wasn't easy. Offering loans to an underserved market segment meant Oakbrook had to solve notoriously difficult data management challenges. Firstly, there was the variety of data sources that had to be managed and processed. These included data from credit bureaus, open banking, fraud checking, and Application Programming Interfaces (APIs) for comparison websites. Secondly, all these data sources needed to be pulled together and reviewed holistically in order to quickly create an Intelligent Scorecard that produced an applicant's risk profile.
The third part of the challenge is the most important. The data being managed is some of the most sensitive and powerful information that can exist about a person, their full financial profile. This made security and compliance critical elements of the applications that power Oakbrook Finance and Likely Loans. Matt's team not only had to ensure the data was secure, but that it could be easily retrieved if a customer wanted to see all of the data held about them or if there was an audit. In many systems, this data is held in disparate silos and requires significant manual work to pull together.
Doing Loans the Right Way
Given the variety of these data challenges, the team didn't even consider relational or tabular databases. After rigorous testing and the comparison of a number of non-relational databases, they quickly settled on using MongoDB and in 2013 started to build their platform.
"The culture of Oakbrook is focused on improving the lives of our customers. We really want to do loans in the right way and technology plays a massive role in that," explained Matt. "Using MongoDB from the early days enabled that mission because it made the data incredibly easy to work with. Ingesting that variety of data allowed us to instantly build a full understanding of whether it was the right thing for our customer to be offered a loan."
Built on MongoDB, the platform worked and worked well. The developers were able to take advantage of the wide variety of data to create sophisticated machine learning that gave precise and timely risk profiles. This secret sauce helped the business achieve annual average sales growth of 155% over the last three years. It was this scaling that gave Matt's team their next big hurdle.
Automating away IT operations with Atlas
They were managing all the infrastructure themselves, so upgrades, monitoring, backups, and analytics were all done manually. Matt picks up the story: "We'd all done our MongoDB University courses and felt really proficient in using the database. We loved it, but like any database, all that management took time. And the business really need us to be spending that time building out new features and preparing for growth, not writing manual scripts for upgrades."
To address those points and gain the ability to scale infrastructure up or down as well as offload almost all of the operational burden, Oakbrook upgraded to MongoDB Atlas, MongoDB's fully managed database as a service platform. As Oakbrook was, and remains, a Microsoft shop they spun up Atlas on top of Microsoft Azure to automate many of the tricky tasks that had been done manually. These included infrastructure provisioning, upgrades, backups, monitoring, and simple performance optimisation as the company scaled.
Perhaps most importantly MongoDB Atlas also strengthened Oakbrook's security. The User Rights Management feature means inbuilt controlled access to sensitive data required authentication and authorization at the database level. Encryption at every stage of the data lifecycle was included out of the box so data was protected whether in motion over the network or at rest in persistent storage. Given The EU General Data Protection Regulation (GDPR) has also come into force these extra layers of security and management were vital to help protect and control customer data.
Migrating to move faster
The migration itself was seamless as the team took advantage of MongoMirror, the native data migration tool for MongoDB Atlas, but the database wasn't the only big change happening at Oakbrook. The shift in technologies was also helping enable a longer-term move away from a monolithic code structure, where all the code for the application sits together and is interdependent, to a more nimble microservices structure. In this model, specific services, like payments, for example, are broken down into their own distinct code base and can be far more easily updated and adapted. This was paired with an organisational shift to autonomous business units that own each service. This combination of new processes and new platforms helped the team focus on customer experience and new features, without having to compromise on security or stability.
"I'm an absolute stickler for testing and measurement and, basically, getting it right. We were testing everything as we went along. Testing, retrying and testing again," said Matt. "And what we've seen is this: the mixture of a new development strategy on top of MongoDB Atlas allowed us to move much faster, really scale the business in a robust way and do it in a way that lets us put the customer's needs right at the heart of everything we do.
A modern, managed, cloud-native stack
MongoDB Atlas is the persistence layer at Oakbrook and also provides the backbone for a host of other modern technologies. The first, Terraform on Azure, works in concert with Atlas to help control and provision infrastructure in each microservice. Once applications are in production, all messages between services are queued and managed by RabbitMQ. Currently, there's also a classic Message Bus system that is designed to broadcast any interesting event or data change to downstream or adjacent apps enabling near-real-time diagnostics or analytics.
As a new combination of people, processes, and platforms come together to give Matt's team more time, it's helping them prioritise the core elements that make Oakbrook special. Matt puts it very simply: "Ultimately it helps us do right by our customers, and that's all that really matters. What else can I say – I love automation."