ClusterControl makes databases at SportPesa less of a gamble

Learn how SportPesa leveraged ClusterControl to handle enormous traffic to reduce downtime and increase performance,

Industry Online Gambling
Technologies Docker, MySQL
Datacenters 7
Products ClusterControl

Background

SportPesa is Africa’s top sports betting platform and the Official sponsor of the SportPesa Premier league in Kenya, as well as teams like Everton in the English Premier League. They provide more than 500 games daily for betting, with the goal to maximize their users’ passion for sports and, at the same time, ensure that players are greatly rewarded.

Since its founding in 2014 they have shown tremendous growth now offering their customers a wide range of betting opportunities including Football, Basketball, Rugby, Tennis, and Cricket for both local and international games.

Challenge

The system behind SportPesa handles an enormous amount of traffic. From tracking bets to collecting money, making payments to mobile transactions, or simply keeping up with the latest betting statistics, data is at the core of the online gambling business.

Distributed, in-memory clusters are employed to handle this massive amount of traffic, but the explosive growth and high traffic during peak times was a cause of concern as it was a source of instability. “On busy days it was not uncommon to have to handle six million queries per second,” said Jakob Kristensen Global Chief Operating Officer at SportPesa, “The challenge was that this number was growing every month and everything had to execute within a certain latency as this system operates in real-time.”

Any errors or failures would result in customers not being able to place their bets through the system front end, which is at the core of an online gaming business. This would result in lost revenue and frustrated users. “If the system does not scale, then it is not possible to grow the business,” said Kristensen.

Solution

Throwing hardware at the problem was one way of quickly fixing the problem. Maybe it is not the most accurate of methods, but time was of the essence in this fast-growing business.

During regular google searches, the SportPesa team seemed to keep coming back to the same website, severalnines.com, to find answers to how best to optimize their database configurations and maximize their performance. “Severalnines has a number of useful resources for configuring, running, and operating MySQL Cluster,” said Kristensen. The team made use of servers with 48 CPU cores, 256 GB RAM, and SSD disks. Powerful hardware with faster disks would bring noticeable improvements. Although MySQL Cluster is multi-threaded and supports multiple cores, it still needs to be configured to utilize these. The
database configurations need to be updated and optimized, with threads pinned to specific CPU cores when needed.

ClusterControl comes from a team that really knows how to operate MySQL cluster.

Jakob Kristensen, COO SportPesa

Impressed by the knowledge of MySQL Cluster, the SportPesa team then decided to download and give ClusterControl a try. “ClusterControl comes from a team that really knows how to operate MySQL Cluster,” added Kristensen. Some of the Severalnines team members were part of the team at Ericsson, and later MySQL AB, which created MySQL Cluster.

Outcome

Through vigorous testing of their environments, the teams worked together to begin to optimize database configurations, deploy backup setups across multiple DCs and began distributing data across multiple clusters. They also began operating parts of their infrastructure using Docker containers to more easily distribute load across sites.

The situation is under control, although the business is constantly growing and the infrastructure needs to scale constantly in order to meet new peaks.

SportPesa is continuing to grow and expand into more and more regions. Because of this, their systems are constantly evolving to better serve their customer needs. As the business expands, so too does the scale at which the database needs to function and perform. There is a consistent need for more distribution and streamlining of the systems to meet the needs of the users.

In addition, SportPesa is always evaluating new technologies and is a strong advocate for open source technologies. Systems like Kafka have been put in place in order to move data from OLTP systems to analytical data stores. Docker is used as a way to quickly scale farms of SQL nodes that front MySQL Cluster data nodes. They plan to continue to use ClusterControl to automate as much of the operations as they can and gain a unified view of
their database infrastructure.

Severalnines has deep database competence, and can be a trusted partner when building high performance, distributed database systems.

Jakob Kristensen, COO SportPesa

Summary

confirmation-grey

Database automation through a single pane of glass

At the core of ClusterControl is its automation functionality that allows SportPesa to automate many of the database tasks they have to perform regularly, like deploying new clusters, adding nodes, changing configurations, fixing broken nodes, or clusters, running backups and rolling upgrades, and more.

confirmation-grey

Central view of widely distributed databases

Operating several database clusters across multiple data centers in different countries, ClusterControl lets SportPesa monitor their databases; providing a unified view of all of their deployments across data centers and even drilling down into individual nodes when troubleshooting.

confirmation-grey

Reliable performance monitoring

Offering SportPesa more than just availability metrics, ClusterControl offers performance monitoring that detects
anomalies and notifies the user with built-in alerts and advisors. In addition to monitoring the overall stack and node performance, they can also monitor
specific queries to identify potential errors that could affect performance.

Ready to automate your database?

Sign up now and you’ll be running your database in just minutes.

Subscribe below to be notified of fresh posts