BetOnSoft began deploying a new solution in July 2011, when it upgraded its database servers and database software. At that time, the company implemented Microsoft SQL Server 2008 R2 x64 Enterprise data management software on two Dell PowerEdge R810 server computers with four 8-core processors and 256 megabytes of RAM.
Each server contains a 640-gigabyte and a 1.2-terabyte memory card made by Fusion-io, a storage-memory company based in Salt Lake City, Utah. Fusion-io memory cards can improve processing capabilities in a data center by relocating active data from centralized storage to the server where it is being processed. This can help reduce latency while also increasing data-center efficiency.
In late 2011, BetOnSoft decided to upgrade further to Microsoft SQL Server 2012 Enterprise. “We had been very happy with SQL Server 2008 R2 overall,” says Pullen. “But we saw features in SQL Server 2012 that we knew would help us with availability, scalability, and performance.”
One of those features is SQL Server 2012 AlwaysOn, a new high-availability and disaster-recovery solution through which customers can query data in replica databases and conduct backup operations from those replicas. AlwaysOn includes availability groups that support a failover environment for a set of user databases that fail over collectively. This feature also includes the AlwaysOn availability group listener, which contributes to easier application server configuration and redundancy.
Additionally, AlwaysOn provides readable database mirror capabilities. The replica databases provide read-only access for use in reporting and backup, which serves to offload some of the primary server’s workload.
“SQL Server 2012 AlwaysOn was the key driver for us,” Pullen says. “Between the availability groups, the readable mirror for offloading reporting and database checking, and the listener, we knew we would increase our availability with SQL Server 2012.”
“Typical data architectures for e-commerce applications involve a high-throughput online transaction processing (OLTP) database from which data is fed into a downstream data warehouse,” says Devan Govender, Chief Software Architect, BetOnSoft. “Data analysis is then usually run on the warehouse, which can be several seconds or even minutes behind. Even small delays are not tolerable in the market-leading gaming products we are building.”
BetOnSoft architected its applications around SQL Server 2012 AlwaysOn, Fusion-io storage, and strategic hardware and network configurations to take advantage of the benefits provided by this platform and achieve its product and performance goals. Govender says, “SQL Server 2012 AlwaysOn is a key part of our solution to achieve real-time results.”
Testing the Solution in the Lab
Prior to implementing SQL Server 2012, BetOnSoft held two series of testing engagements in Oxford, UK in April and May 2011. Then, in September 2011, BetOnSoft worked with Microsoft to test SQL Server 2012 in a production environment at a laboratory session at Microsoft headquarters in Redmond, Washington.
The goal of the Redmond lab was to validate that the technology could support at least 10 times current gameplay workload at BetOnSoft, while still able to perform intensive data analytics in real-time. “We wanted to make sure that the technology could give us an extra level of availability without any performance penalty to the players,” says Pullen. “And, ultimately, we wanted to make sure that the solution supported future scale-up throughput requirements that fell within our acceptable application response times.”
During the lab, BetOnSoft installed SQL Server 2012 instances on each server, activated the AlwaysOn features and set up availability groups and synchronous secondary instances while activating reporting from a readable database mirror. It also conducted failover testing. “We really wanted to run a stress test on the availability groups,” states Pullen. “We were driving SQL Server 2012 to exceed 10 times our peak production load.”
BetOnSoft went live with the new solution in November 2011.
Creating a Hybrid Cloud Solution
BetOnSoft is also running several critical services on Microsoft SQL Azure, a cloud-based data-storage environment that provides high availability by storing multiple database copies and providing fast provisioning.
For example, BetOnSoft maintains its error-reporting service in the Windows Azure cloud with data stored in SQL Azure databases. This service monitors, by geographic region, the number of players worldwide that are experiencing problems launching or playing games on their computers. “For some services, such as error reporting, it makes sense to manage that outside the data center,” says Govender. “For example, there could be issues with the data center that make it inaccessible for error reporting.”
BetOnSoft also runs certain marketing applications on Windows Azure, where demand can spike as a result of campaigns run by marketing partners. “It was a no-brainer for us to run services that have unpredictable demand in the cloud,” says Govender, “We scale up to meet demand and back down when demand subsides.”
Another Windows Azure service is used to collect statistics on the quality of connections to the company’s games. Statistics are collected for download rates, latency, and number of connection errors.
BetOnSoft also has a Windows Azure monitoring service that collects data on transaction rates, the number of games played, and other activity metrics in a SQL Azure database. It constantly analyses these metrics to detect and send alerts about any anomalies that require attention.