William HillOnline Gaming & Betting Sector
William Hill is one of the world’s leading betting and gaming companies and one of the most trusted brands in the industry. Revenue is generated through four businesses: Retail, Online and William Hill US.
Requirements
William Hill needed a bet capture and bet settlement capability that is able to serve all business domains across the group.
Existing capabilities are considered uneconomic to modernize. They are seen as both legacy and non-strategic in their various domain specific implementations.
In order for William Hill Technology to deliver a global platform it must have a core set of capabilities built and implemented in a way that facilitates both reuse in current and future business domains and satisfies the key NFRs.
This solution outlines an approach for a new strategic bet capture and bet settlement system, a William Hill Betting Engine.
A collaborative project between Code Factory and William Hill. The project goal is the development of the relevant betting engine capabilities of the platform to form the strategic William Hill Betting Engine (BE) and then integrate this into the WH US technology stack.
This will facilitate anticipated further US state rollouts and remove the dependency of betting capabilities from CBS (Computerized Betting System – an inhouse WH US developed system).
We are implementing a modern architecture that has been proven in a live environment.
The solution has a micro-service architecture.
Services are event-driven: Apache Kafka is used for asynchronous message passing. REST APIs are exposed to facilitate synchronous commands/queries, mainly for UI interaction, including bet placement.
Separate instances of the same service are deployed with the same core domain code, but different interfaces (Kafka or REST), which is often referred to as hexagonal architecture. The micro-services are implemented in Scala/Java and have been migrated to use Cassandra database for persistence. The DataStax Enterprise distribution of Cassandra is used, along with Search and Analytics extensions, that provide Apache Solr (a search engine) and Spark (large-Scala data processing engine) integrated on top of the Cassandra’s wide column store.