Category
Technical Challenges

The Impact of Golang on Systems Development at bet365

Alan Reed, Head of Sports Development, Hillside Technology, part of bet365, explains the tools and skills needed by his firm, including programming language Golang Originally published on computing.co.uk New problems demand new tools. The challenges we face in 2018 are inherently complex. Delivering an always on platform that supports real-time applications for 100,000s of concurrent users at peak, has meant consistently breaking new ground in both the way we work and the technologies we use. The result, bet365′s betting platform is powered by an intricate web of systems that must work in harmony. What’s more, each individual system is a…

Read More

Bet Builder – From Concept To System

Introduction bet365′s Bet Builder is a feature that allows Customers to construct their own personalised pre-match or In-Play Soccer bet. For example: Luis Suarez to score the first goal Uruguay to win 2 – 0 Over 8 corners in the 2nd half Previously this bet would need to be individually priced. Typically the Customer requests a tailored bet via a social network. The bet is then priced and the Customer sent a notification that their bet is available and / or a link to allow them to place their bet. What made this different from the majority of our competitors…

Read More

Testing the Algorithm – Evaluating TLA plus

If writing distributed algorithms is hard, proving they work with the many permutations of state in a highly concurrent distributed architecture is next to impossible. To mitigate this risk, typically you would write a comprehensive set of unit and integration tests and couple this with load and system failure testing to determine correctness both of the algorithm and the implementation. However, testing has its limits. It is difficult to simulate the many variations of system stalling, network latency and failure and to determine the consequences to other system components of resulting back pressure. In addition, discovering and fixing a flaw…

Read More

Reducing The Footprint Of Our Virtual Sports Streaming Platform

…and improving on HLS latency and our ability to scale in the process Background For over a decade we have been operating a suite of virtual sports games on our website with the ability to watch the event via a video stream. These streams have always been encoded and packaged for distribution to the client player by systems and appliances ran ‘on premise’ within bet365’s data centres. Throughout this time the products and solutions in place have evolved in accordance with the technologies behind live and on-demand streaming across the internet and the client players within the browser (we have…

Read More

More for less, more or less

I have always loved simple designs, being able to look at something and see immediately how it works without needing to ask the person who built it. I believe that is one of the cornerstones of good architecture whether it is buildings, machinery or software. When working in a company, like bet365, where normal throughput exceeds 1000s of transactions per second, and there must be consideration for every millisecond (or microsecond) used, multi-threaded code is a necessity. The challenge, from an architecture point of view, is to establish a standard approach in C# to define and organise highly concurrent code…

Read More

Riak Update

Riak has come a long way since the unfortunate demise of Basho Technologies. With the release of Riak KV 2.2.5 (https://github.com/basho/riak/blob/riak-2.2.5/RELEASE-NOTES.md), which is the first community-led release of the database, the incredible success over the last few months is clear. A significant number of pull requests have been created, from organisations that operate large-scale Riak deployments, and also individual contributors. The community has continued to grow steadily, in both size and activity, across social channels and in terms of code contributions. The progress is staggering, considering that it was only a little over 6 months ago that the first community…

Read More

Moving between technologies

…and the challenges that we face when bringing in change and enforcing it For this post we are going to have a look at how the Sports UI team within bet365 handle the rapid pace of change in technology, what happens when it doesn’t go well and how we have reacted to this to allow success in the future. Being a company focused on technology we are all too aware that the landscape of technology is constantly moving. Today the flavour of the month could be Angular2, which could flip entirely to ReactJS the next month and then next month…

Read More

Image Optimisation

One of the most important but perhaps under-appreciated tasks in the design and development teams is the judicious optimisation of images. We use the word judicious very specifically here because it is a job we can’t currently leave solely to computers. It is a job that requires keen eyes and excellent judgement. Why? The largest category of assets, in terms of file size, on a web application are almost always the images. An unneeded JavaScript library like jQuery or generally flabby code (which obviously we would never be guilty of writing, but suppose we did) can be easily dwarfed, in…

Read More

Efficient Default Property Values in TypeScript

In order to ensure that our website runs as fast and efficiently as possible, we often use performance analysis tools to take a look at what is happening inside the browser, specifically on more constrained devices such as Mobile Phones. It was during one of these profiling sessions that we realised that the JavaScript emitted by the TypeScript compiler had the potential to be optimised so that the output used CPU and Memory more efficiently. While investigating this we devised a TypeScript design pattern for properties of classes called the Static Initialisation Pattern. This article discusses this pattern, how it…

Read More

Normalising Geometric Data at bet365

Normalising geometric data is not a problem solving exercise that immediately springs to mind when you initially join the Sports UI team at bet365. What does geometry have to do with sports betting? As part of bet365’s In-Play Sports offering, we have enhanced several sports; with a feature we call “Match Live”. We know that our customers may not always be able to catch the sports they have placed a bet on, Live on TV. The Match Live feature enables customers to get an overview of the latest scores and view several different statistics for the Matches that are in-play….

Read More