Paymentsense is one of Europe’s fastest growing fintech companies, offering small businesses an affordable payment processing service and software. It currently has 70,000 customers, processes approximately £10 billion of sales every year, along with 250 million transactions annually.
Up until recently Paymentsense mostly managed the relationship with its customers and was essentially a sales/service organisation, whilst another separate financial services organisation did the acquisition and core processing. However, Paymentsense has since applied to the FCA to become an e-money institution in its own right, which will allow it to acquire payment transactions to issue credit cards, hold money on behalf of the customer in an e-wallet, and actually do the payment processing itself.
This shift pushed Paymentsense to think about its technology estate and migrate its systems to Google Cloud Platform (GCP). The company had been operating from a monolithic application in a data centre. However, it has since boosted its developer productivity and improved its agility by shifting to a microservices model on GCP (although it is still in the migration phase). This has proven to be particularly beneficial during the worsening Coronavirus pandemic, as Paymentsense has had to quickly deploy services that could benefit many of the restaurants, cafes and small businesses using its platform (but more on that later).
We got the chance to speak to Nick Fryer, CTO of Paymentsense, about both the company’s shift to GCP and microservices, as well as its Coronavirus response. Fyer explained Paymentsense’s motivation for moving to the public cloud. He said:
[Gaining FCA approval] was a big investment for us, and it now means we are a heavily regulated business. That meant that we rebuilt all our systems and built new front ends. That prompted the move to Google Cloud. All the systems that we had before to help our customers onboard were completely rebuilt. And at that point we decided to migrate everything to Google Cloud.
Paymentsense started the rebuild in January 2019 and although currently only has a small number of customers in the new environment, it has now built enough systems in GCP to operate its business. It has paused migration for the time being, due to the COVID-19 pandemic, but is ready to onboard thousands of customers once lockdown in the UK is lifted.
Fryer explained that in 2016 Paymentsense rebuilt all of its systems to be service-based, but that they ultimately were underpinned by one big database and a big lump of code. He said:
When we released it, it was a small lump of code. But three or four years later, because we had some good CI/CD in place and we were doing up to 20 production releases a day, that small lump of code became a big lump of code. Build times were becoming very slow, the ability to modify became quite complicated, our automated tests were taking long periods of time. So our CI/CD pipeline was getting slow and slower.
So our main motivation wasn’t to move to the cloud, it was to break up our big monolithic system into multiple services. It’s only as we were looking for options to do this that moving to the public cloud was the easiest and most effective way of making that happen. That’s because there were a load of services provided by Google out of the box, that otherwise we would have to build and maintain ourselves.
A new level of agility
Fryer gave an example of how moving to the public cloud has simplified Paymentsense’s infrastructure needs. He said that the company had been planning to use Kafka as a messaging system, to enable its new services to talk to each other. Fryer’s original plan was to keep on Paymentsense’s original infrastructure that it had already bought and paid for, run a load of VMs and then install the various infrastructure services.
However, Paymentsense found that this model proved to be difficult, as when Kafka was deployed it was a massive resource hog - even as a relatively small, simple version. However, this wasn’t the case on GCP. Fryer said:
We started looking at Google and the services they had to offer.You soon realise that you can have something that’s very usable and pretty much infinitely scalable.
We don’t have to have 10 massive VMs, huge storage, and a whole load of management to manage our messaging infrastructure, which was the minimum requirement. We can just click a button and we’ve got the same thing - probably better - and it’s very, very cheap. It was a total no brainer.
The whole monolithic approach was becoming horrifically damaging to our developers’ efficiency. We were losing people over it. People were so fed up of having to deal with it. So we knew we had to do something.
Responding to COVID-19
The current global health crisis - the Coronavirus pandemic - has unsurprisingly impacted Paymentsense’s customers quite hard, given that so many of them are small business owners, running cafes and restaurants. However, because Paymentsense has become significantly more agile in the cloud with GCP, it was able to respond quickly and offer solutions to support its customers. Fryer said:
To tie it into COVID-19, as an example. We have implemented a couple of systems recently, where within a week we developed a way of integrating to a business funding site - a site that lends money to businesses and then you repay it through your card’s takings. So we implemented a whole business process on Google Cloud using our new platform and infrastructure, which is really quite complex and thorough, in the space of a week. We would never have been able to do that in the old world.
We have also developed a kind of ‘Deliveroo Lite’, which is very simple. But we’ve done something that works for some of our restaurant and cafe customers, which allows them to become a takeaway overnight. We turned it around really quickly and it’s good, it’s reliable and it works really well.
The key thing that we can do now is that we get much better developer efficiency. People are spending much more time writing business logic, writing code, rather than on plumbing nonsense. So it allows us to be more agile and be more responsive to our customer’s desires. This recent drama has highlighted how quick it is - we have implemented so much over the past week from scratch, from a standing start. It’s borderline miraculous. We are being proactive to our customers’ needs.
It is generally accepted in the public cloud infrastructure market that AWS and Azure are the front runners, with Google Cloud Platform making big investments - and key hires - to appeal more to the enterprise market.
As such, I was keen to get Fryer’s take on why Paymentsense opted for GCP over the likes of AWS. Simply put: GCP offered Paymentsense better client management and support during its projects. Fryer said:
AWS was the default position I guess, as the established player with the most mature toolset. And we actually implemented the first production system with them. But we had no support or help from AWS at all, it was all on our own. The occasional ticket might get responded to, but there was no architectural design help and there was no-one proactively offering help.
Google came along to us and said, ‘Why don’t you work with us?’. They said they’d supply us with an architect, someone who can explain how it should all be built. And that’s what they did and it was a massive deal for me. For Google to come along and give us assistance in how we should be designing our systems and implementing our work on their platform was really useful.
Also, at the time, we were a tiny customer, we weren’t spending a great deal of money. But they saw the potential and put the effort in to win us as a customer. Now we are spending a reasonable amount of money, which was as a result of them looking after us as a customer. We had someone who could answer technical questions on the end of the phone, pretty much whenever we wanted them. And that was really valuable.