Q&A with Sam Lawrence, Co-Founder and CTO, FSB Technology
“GridGain has enabled us to provide a real-time, highly responsive, easily scalable, and highly available hosted platform for our partners. GridGain is extremely flexible and is vital to meeting our strict SLAs.”–Sam Lawrence
Q1. What are the data challenges that FSB Technology (UK) currently faces?
To support live betting during sporting events, our betting platform-as-a-service must be real-time, easily scalable and highly performant. Huge amounts of event data must be constantly updated, and this data must be immediately available to a vast number of clients. For example, as a game progresses, new betting opportunities emerge. Odds must be calculated and presented to users in real time, and bets and event results must be processed instantly. FSB also tracks liability data. Each bet has a potential payout, and we constantly track the worst-case payout potential at any moment.
We must also be able to scale as the number of bettors, sports, events for each sport, and betting opportunities before and during each event grow dramatically. The ability to scale up for busy periods, such as weekends, and then scale back down by pushing compute to the public cloud during high demand periods is critically important to support peak times while managing infrastructure costs.
Q2. Specifically, how do you manage that large amounts of event data be constantly updated, and immediately available to a vast number of clients?
We deployed GridGain Enterprise Edition, which is a comprehensive in-memory computing platform. Based on Apache Ignite, GridGain utilizes a massively parallel architecture on a cluster of commodity servers that can be massively scaled out simply by adding more nodes to the cluster.
During a typical week, the number of stored objects in our system grows from about 200,000 on Monday to about 1 million by Friday as more events are added for the weekend. For especially busy weekends with major sporting events, we scale our on-premises three-node GridGain cluster by adding nodes that are run in the Rackspace public cloud.
GridGain also supports ANSI-99 SQL and ACID transactions, enabling us to rapidly and reliably pull complex data structures from our database. For example, if a bettor wants to see all current opportunities for betting on a particular sport, GridGain supports a single, fast query that pulls all the current odds for all the current bets for all the current events for that sport in real-time. We have been able to create a great user experience for a variety of devices, providing the exact information users need when they need it.
Q3. What kind of real time requirements do you have?
We support over 500 casino and live dealer games and transact more than £2 million in bets daily, while processing over 700 bets per second.
Q4. You previously used Memcached to cache data from your company’s single Postgres database. Why did it not work well?
Memcached is a key value cache that does not support complex queries. This severely limited performance and scalability.
Q5. What is your experience in using an in-memory computing platform instead?
GridGain has enabled us to provide a real-time, highly responsive, easily scalable, and highly available hosted platform for our partners. GridGain is extremely flexible and is vital to meeting our strict SLAs.
Q6. Can you share with us, what level of performance, responsiveness, and availability did you obtain by using an in-memory computing platform?
From a customer point of view, the most critical performance aspect is website loading time. Websites that are slow will quickly frustrate customers and lead to lost revenues. Also, with the shift to thinking mobile first, the most optimal approach is often providing data in smaller chunks using AJAX requests and websockets. All these client requests drive load, so it’s vital that the platform’s performance doesn’t degrade with either request volume or data volume. In terms of availability, we strive for 100% uptime.
Q7. How has GridGain’s ability to dynamically add and subtract nodes in the cloud been critical to cost-effectively scaling your business and meeting your performance goals?
GridGain’s ability to dynamically add and subtract nodes in the cloud has been critical to cost-effectively scaling our business and meeting our performance goals, even during extreme usage spikes, such as the annual Grand National. Distributing our cluster across multiple data centers has also ensured availability. With GridGain, we were also able to easily spin up another instance of our betting platform-as-a-service using the GridGain in-memory computing platform for a partner that wanted to run on a dedicated instance of the managed service.
Q8. Anything else you wish to add?
I’m looking forward to seeing what else we can add to our platform. We’ve gotten this far by being ambitious and innovative, so we need to keep that momentum. In-memory computing has a bright future and it’s going to be interesting to see how the boundaries between this technology and traditional databases start to blur. In the past, combining high-performance computing with resilient persistence often involved some form of compromise, so it’s great to see how that situation has changed. The current drive towards putting Analytics into the heart of a platform shows a real confidence in the in-memory approach.
Sam Lawrence, Co-Founder and CTO, FSB Technology