Cellulant and AWS, a match made in cloud heaven

We sat down with George Murage, Cellulant’s Group Head of Technology Operations, to find out more about this revolutionary company and their adoption of AWS cloud services.

rf: How did Cellulant get started?

GM: Cellulant began about 15 or 16 years ago. And it really began as a company that was selling ringback tones. That was the time that the mobile revolution was more or less hitting Africa. So what the company was just selling was just putting a tone that somebody could choose. And then the company began to innovate around that and because we were such a small player one of the challenges was “how do we get paid?” How do we get paid real-time so that when somebody buys the ring back tone, we are not waiting for a date 30 days off for these big mobile network operators to pay us. In that process, we came up with a mobile wallet product that would allow that division of payment and simplify payments. Then we realized, wait a minute, this is a product that a bank could use. Because at that time, even though there were formal banking products, there was no way for a user or consumer to actually interact with a bank or a financial system from a mobile world. So we innovated around that product. And a lot of the banks and other brands in Africa took us to multiple geographies. And that’s how the company basically grew.

Several years later in Nigeria, we had this partnership with the government – it actually began with the government of Liberia – who was looking for a way of providing farmers with subsidies. The challenge at that time was that there was really no system that would provide end-to-end transparency for the farmer. The only way you could reach them was by using mobile but very basic mobile, not like a smartphone. So we did the project in Liberia, and it caught the interest of the government of Nigeria who was working with people like Africa Development Bank and figuring out how do we support agriculture because at that time agriculture was really doing badly in Nigeria. Of the subsidies that had been provided, I think less than 20% actually got to the farmer.

We built a platform that basically allowed the farmers to register using mobile technology. And we’re able to do all these disbursements to these farmers using this mobile technology and at the same time, provided the government of Nigeria, and partners like Africa Development Bank, with visibility of where all these funds are going and how many farmers are signed up. Since this scheme began, we registered over 17 million farmers and dispersed between $1 to $2 billion in terms of subsidies to farmers.

We began to now innovate and realize, like in Nigeria, we’ve more or less connected the farmer with subsidies, but how about connecting their produce with food processors who would actually want this produce. So about three or four years ago, we began to introduce a marketplace that allowed farmers to aggregate produce to a food processor. The mission statement of the problem there was that food is grown by small scale farmers, but food processors need huge amounts of food, to be able to process it to food that people can be able to eat. The challenge then becomes a question of how you aggregate all this demand? The fact that we’d already built a network to subsidize to send subsidies to farmers, meant that it was not that difficult to innovate around that network to build a system that would let the farmers know when there was a demand for a certain amount of rice, a certain amount of sorghum and a certain amount of maize which they would then bring to collection centers where it’s weighed.

The problem we solved on both sides was that we were able to aggregate this agricultural produce more effectively. What would happen before is
these large food producers would have to get trucks, they had to move with cash, and from a logistics and security point of view, it just made it difficult because most of them were going to very remote states in Nigeria. It wasn’t really feasible to do this in a very scalable way. But now we come to the farmers who return the market will get you a green but we’re gonna pay you with our It, but they already used to the product because it’s the same wallet that we’re using to get subsidies as farmers. The other thing that we did was around the payment space, where we were giving this mobile wallet primarily to banks. One of the use cases began to grow is the need of many customers to pay bills digitally and it’s actually been pretty successful. We have a use case in one market where a water utility company actually water actually shut down its brick and mortar outlet outlets for paying bills because when they want people to pay bills they now use our system to send an SMS reminder that your bill is due. People then come onto our platform and pay digitally in the words of the CFO of this company “it worked like magic”. When they had outstanding bills they’d just ask us to please do a campaign to remind people to pay and then the money just comes in digitally with people paying predominantly by mobile money.

rf: How does AWS fit into Cellulant’s growth?

GM: In November 2017 there was a concern that the company was going to grow and that systems were not gonna scale. Being a startup, we optimize the delivery of our technology based on speed, what is the fastest to the table. One of the reasons that we got the program we did in Nigeria and Liberia, is because we said we’ll do it in 90 days.

We really did it start-up style – you put people in an apartment, you’re working 14 hours a day and you deliver the platform. Because of that, we had built up a lot of technical debt. This meant that if we are going to scale – and at that time we were looking at signing on a contract that was going to increase the demand on our system. So the number of transactions of our systems by 10 times was simply not going to be able to do it. So we tried to do what we normally do, we tried to order some servers and within three weeks, we realized that the hardware would not come in time and it simply wasn’t going to work. That was the first time we really began considering moving to a cloud platform because it would allow us to build out these capabilities much faster. So we began experimenting with it and we built the first MVP for what we would call the next generation of our platform. It really did help solve the scale problem. But, there was still no top-down alignment that cloud is the way that we need to go. There were still some parts of the business that felt you know, we already have invested in hardware and software in certain data centers. Why don’t we proceed with that? I remember an incident that happened around April 2018 where there was a huge campaign for people to come into our ecosystem. Our market is dominated by prepaid services and among the most popular is just airtime. So at this time, this was a campaign to do top-ups and you get like a 50% more. The advertising I think, started on Friday and by Friday evening, we had so much traffic, that our systems just couldn’t handle it. They just shut down and then it was just a support and PR nightmare because we had begun to charge people’s mobile wallets, we’re not giving them the airtime, sessions were been lost midstream as people were trying to dial and get the time. The following Monday we had a CEO summit where we really wanted to know and understand what had happened. In looking at that post mortem, one of the things we realized is that because the space we are in has these peaks of traffic that come in bursts that we can’t control, we really needed an elastic way of being able to handle the load. That is where the thinking of cloud-first was adopted. We did do an iteration of that product and about three months later, put it on the cloud. That is when we realized we actually need to move our core system, which is basically a payment gateway, into the cloud to allow us to scale. The other thing that it was going allow us to do was to be able to experiment at a low cost. One of the challenges, which we gleefully embrace and we think we’re going to solve is that payments in Africa is a very fragmented space. So you will find what works in one market will not necessarily work in another market, you have to experiment. The regulations are also very different, you find the regulation in a place like Nigeria is a lot different than the regulations in a place like Malawi and Zambia. On AWS, we were able to carry out a lot of fast experiments, at a really, really reduced cost. It allowed us to build quickly and if they succeed, scale them up, if they don’t succeed, shut them down. It gave markets the freedom to have predictability over their costs so they were able to know how much they can spend and they’re the ones now telling us “okay, this experiment is too costly, just cut down on scale.” For me this was a very new experience, because most times, it’s the other way around you telling the markets that they’re spending too much on technology, they’re not efficient. But now they could actually get their costs and say this.

In our part of the world, there are about two or three things that really, really drive adoption. One is transactions per second (TPS). Transactions come seasonally, so the last week and the first week of the month is a high traffic period. The ability to just be able to handle high TPS is critical.
The second one is latency or turnaround time. Customers are not going to wait two or three hours to find out if their bills had been paid. They really needed very short wait times because most times people are paying a couple of hours before service is disconnected or a couple of hours after it has been disconnected.

So the ability to just have very, very low latencies has been very critical for our success. And the other thing is availability. We run our transaction model, we run our revenue sharing model. So for us when systems are down, it’s a direct impact on revenue and we lose money. In terms of latency and transaction per second, we’re actually able to get a lot more latency. Just to give you just some indication on numbers. In our on-site data centers, we had latencies of around 12 to 14 seconds. When we moved them to the cloud, those latencies dropped to sub-two seconds. And some of the things that drove that are platforms on AWS like AWS Aurora. Because we run financial systems, we do what I would call unusual things, meaning sometimes we want to write something in our database, and ready back immediately to make sure it’s there. So that we don’t fulfill our request, then all of us either we can’t tell what this was about? We had challenges with doing that in a traditional database, because if you’re doing it on a cluster, you need to allow the right operation to reflect on all the nodes, and then you do a read. But because of the way AWS Aurora separates, computer and storage and uses a shared storage layer, it had no penalty. And that was really, really valuable for us to bring down the latencies.

Some of our customers are e-commerce customers – so what we provide them with is a single API into Africa – people who want to enable multiple payment methods into Africa, because in Africa you really can’t pay with a card, you have to consider paying with mobile money paying with a bank account. One of the things that they really want is a transaction needs to be completed in a very short period. Some of the vendors had a promotion every Friday for Black Friday month And just using something like AWS Aurora just allowed us to really, really lower latency so that we could be able to respond to those requests that were coming in bursts in a very, very short period of time. Using the AWS platform also gave us an elastic way of being able to handle multiple transactions per second. Just going back to these applications, we call it check out that supports global payments, or merchants who want a single API to pay into Africa. To be able to scale, we ran scale horizontally by running it on multiple nodes and that helped us handle peak traffic. What we saw is these vendors were increasing traffic, six-fold, eightfold, just over a short period of time and with AWS capabilities, we’re able to do that in a very cost-effective manner that we’re able to scale out when there is a lot of traffic, and when the traffic goes down, we just reduce the number of nodes that we actually need to be running at that particular time. So I think those are the things that have really excited us I think about working with AWS because they’ve allowed us to modernize, they’ve allowed us to speak our language.

It’s allowed us to modernize our stock and speak a language that our partners also understand. When you tell them, “okay, I’m giving you this interface, it’s hosted on AWS”, they understand that we are riding on the shoulders of a giant and that we will be able to deliver the quality, speed, scalability, and security that they require. It’s been a journey. We still have quite a bit of work to do in terms of migration. I think the thing that really stands out in our relationship with AWS is that it’s a relationship where they’re really interested in our success and they’re always looking at how they can make Cellulant better. How does AWS provide enablement to allow the team to just do better move faster. For me, it’s refreshing because when we succeed, then AWS will succeed.