RE2 Programming

“Erlang has become an essential technology in our toolkit. It is helping us to create reliable, fault-tolerant systems that can be scaled incrementally to meet the growth in our business.” Dan Macklin, Head of R&D at bet365

INNOVATION & SCALABILITY bet365 RELIES ON ERLANG-BASED SYSTEM TO DELIVER SMOOTH SERVICE TO 11 MILLION PLAYERS

Started in 2001 as a family business, bet365 now employs over 2000 people and is one of the world’s biggest online sports betting sites. They deliver live online experiences in 17 languages to over 11 million customers worldwide.
The company is hailed as a leading innovator in the Online Gambling & Betting space, constantly pushing technological boundaries. They take great pride in their culture of innovation and attribute much of their success to giving development teams the freedom to innovate

CHALLENGE

bet365’s InPlay betting platform was initially developed in Java. It was a highly concurrent, distributed system running 100’s of servers, allowing users to place bets in real time. It supported TCP/IP and Long Poll clients and made use of proprietary modelling techniques for changing the odds on bets.
The company grew fast, with an exponential customer increase. They soon reached the point where at any given time they would have up to 2 million people on the site simultaneously, generating thousands of updates per second. The sheer volume of web traffic and transactions placed huge pressures on the systems that supported it.
They realised the business was running at a scale where traditional tools and techniques no longer offered acceptable performance in terms of scalability and time to market. It was only a matter of time before the system would hit the limit of its capability. The ability to scale would falter, latency would increase with load, and the system would lose reliability. With increasing scalability requirements, traditional relational databases would also become problematic.

SOLUTION

bet365’s R&D team was tasked to seek out relevant technologies that could solve their complex scalability and business problems and to explore new ways of delivering software. One of their main objectives was to find new technology that could support highly concurrent systems and implement it in bet365’s tech ecosystem.
The team set out to explore the entire technological landscape and identify the best techniques and tools. The team sought out existing, mature technologies that were proven in other areas which could be re-used in their domain.

bet365 REQUIREMENTS FOR THE NEW TECHNOLOGY

Apart from a different approach to concurrency than bet365’s legacy systems and not being overly complex, the new technology needed to possess the following key attributes:
BE A PROVEN OPEN SOURCE TECHNOLOGY
INTEGRATE WITH NEW & VARIOUS TECH
SUPPORT FAST INNOVATION
REMAIN HIGHLY RELIABLE
SIMPLE TO OPERATE & MANAGE
bet365’s team found and evaluated the Erlang programming language which perfectly met their requirements. Erlang is a robust compact language initially developed for Telecoms. Recently Erlang has seen adoption by businesses with large volumes of concurrent, active users who transact a massive amount of data in real-time. Among them are WhatsApp, T-Mobile, AdRoll, Klarna, Vocalink, EE, Machine Zone and many more. Its actor style concurrency, immutability, OTP libraries and reliability semantics make it far easier to construct massively parallel systems. bet365’s R&D team decided Erlang was the perfect fit, so we supported them with the transition. At Erlang Solution, we take pride in being the world’s leading provider of consultancy and development services for Erlang technologies and products.

OUTCOMES & BENEFITS

bet365 and Erlang Solutions formed a core engineering team that developed a successful proof of concept system in 2 months. It showed that Erlang was a much better fit than the initial Java based solution.
In the next phase we offered our expertise and advice to build, scale and customise bet365’s InPlay platform, as well as training and service support. The InPlay platform currently pushes the live odds of hundreds of thousands of sporting events to millions of customers so they can bet on events as they happen. After the initial development of the InPlay system, we have supported bet365 to migrate more infrastructure from Java to Erlang. Below are the main outcomes of our collaboration:
PROFOUND REDUCTION IN CODE COMPLEXITY
INCREASE FROM 10S OF THOUSANDS TO 100S OF THOUSANDS OF USERS SUPPORTED ON A SINGLE MACHINE
INCREASE IN THE SPEED OF PRODUCT DEVELOPMENT & DELIVERY
SYSTEM SUPPORTS DATA CHANGING AT 4 TIMES THE PREVIOUS RATE

OUR EXPERTISE

We have extensive experience in building scalable fault-tolerant systems, not only for the Online Gambling & Betting sector, but also in Telecoms, Gaming, Automotive, Web Advertising, Mobile Apps and IoT. We have over 300 clients in our portfolio, from start-ups to Fortune 100 companies; with bet365 and William Hill being among them, plus other companies from this sector where we helped with:
+ Creating platforms for rapid game development that allow a generic API to provide access to all the games deployed on a particular platform, which allows for adding new games without affecting uptime.
+ Redeveloping segments of the OpenBet architecture (wallets, bet settlement functionality, in-play betting, etc) in Erlang, giving companies more in-house control over their systems.
+ Providing end-to-end services in Riak implementation, consulting and support – we are the largest and global reseller of Riak.
+ Training clients’ in house teams in Erlang/OTP.
Credit – Erlang solutions, posts taken from Erlang solutions site.