Online gambling company bet365 is rebooting its platform to see it through till 2020 and beyond.
Taking inspiration from web behemoths such as Amazon and Google, bet365 will be building this new platform from scratch - a "complete clean sheet", says CTO Martin Davies, to scale for the next 10 years and improve efficiency and speed, cut infrastructure costs - which last year totalled £60m - and ensure systems are more distributed to handle the demands put on them.
"Speed and latency are the biggest problems we have to deal with," Davies tells silicon.com.
"On a typical day we'll be making many tens of millions of changes onto the website and... across all of our systems we'll have well over a million concurrent users - we've got to get those changes out to those customers as fast as possible because if they want to come in and buy a bet off us and they aren't seeing the current prices on their systems, there's a problem."
In charge of the platform reboot will be a new R&D team that won't be tied to specific product launches or deadlines as bet365's other R&D staff are. Instead, the team will be tasked with developing the next-generation platform to ensure the business infrastructure can handle the demands of the next decade of online gambling.
Hardware progresses as software lags
A key driver for rebooting its platform is a new generation of servers with increasing numbers of multicore processors: while hardware may be evolving, software has not been keeping up in parallel. For bet365, the issue is coming to the fore because it is already deploying servers containing 80 cores - and even has plans to implement 160-core servers next year, according to Davies.
"All of the talk is servers are just going to get more and more cores and there's even talk about going up to thousands and thousands of cores at some point in individual machines," he says. "Yet software has not kept pace - which means systems that have not been designed with multicores in mind end up spending more and more time doing operations sequentially, rather than concurrently which would make effective use of all the multicores.
Davies says the company is looking to "rearchitect our key systems to try to take advantage of the new, more powerful machines with these huge amounts of CPUs" as well as "enable our systems to become more distributed so that we can spread load across many more systems and take advantage of the cloud systems we've already got in".
"By doing that, what we're looking to do is continue scaling for the next 10 years and also try to look at making our systems more efficient so we can save on power and cost - save on the amount of money we're spending on infrastructure," he adds.
The dawn of concurrent programming
To best take advantage of the massively multicore servers heading down the line, bet365 needs to shift to concurrent programming, says Davies, who notes that new programming languages are being designed to tap into this next generation of server hardware.
"Microsoft, within the .NET framework, has introduced some new features within that which enable you to run millions and millions of things at the same time," he says, noting that Java too is moving with the multicore times with its Typesafe stack plus the Scala and Akka programming languages.
"Those systems themselves again can run many, many millions of concurrent operations," says Davies. "The drive is towards concurrent programming."
Concurrent programming may be...