Wagering / Gaming
Our client, an ASX100 company, is one of the largest publicly listed gaming and wagering organisations globally.
As one of the few integrated gambling and entertainment companies in the world, their iconic brands and stable of subscription television channels ignite passion and excitement in millions of customers each year.
A project was undertaken to replace the retail selling terminals at racecourses. From a system’s perspective, a strategic decision was made to create a cloud native application using API’s and embedded front-end web pages to act as the operator and customer interfaces.
This was the first time a government regulated gambling application was to be deployed to a cloud environment. It was necessary to design the application, infrastructure and deployment methods in compliance with regulatory standards provided by the government agency and then apply for approval before being able to deploy it live in production.
The application environment was required to be completely locked down with no user access allowed to servers in production. This meant deployment had to be automated, and that the infrastructure had to be architected in such a way that it was fault resistant and able to be supported and debugged without manual intervention on the servers.
In addition, all of the application’s constituent micro services were required to have their checksums reported. This had to be checked prior to deployment and also be able to be queried in real time once the application was live.
The application would also have to deal with significant and sudden changes in load and be able to scale up and down in response in an effective manner.
The work on this project would also act as a proof of concept and blueprint for future cloud deployments of other government regulated applications.
Cevo worked alongside solutions architects, the development and operations teams and other areas of the business to deliver both the architecture and implementation of the solution:
Continuous Integration/Delivery pipelines were created running unit tests on components as well as acceptance, integration and regression tests on the application as a whole. This process allowed for frequent releases with a high degree of confidence in their viability.
Leveraging infrastructure-as-code, multiple test environments were created allowing the developers the ability to deploy their code to a production-like environment in a short amount of time.
Cevo also collaborated with internal client teams on the design of the infrastructure and deployment methods. As a result, deployment pipelines are kicked off by a deployment user but all of the resource creation is managed by roles assigned to the pipelines themselves.
A regulation step was also added requiring a user with a release role to check the checksums of the application, then approve the pipelines continued deployment. This method was consistent across all test environments and production, giving a high degree of confidence that our client can successfully deploy a release of the application to any environment.
The infrastructure was designed to be performant and scalable on demand. It was performance tested at 3x the maximum load of the system it was replacing with no impact to performance.
Due to the requirement that there is to be no manual access to the servers, work was also undertaken to integrate the logging, alerting and monitoring into the application and infrastructure.
Throughout the project the Cevo team liaised with both the regulators and business teams explaining the implementation and how it addressed the regulatory requirements.
The regulatory submission was approved, and due to the pipelines and infrastructure being ‘as code’, both the initial and subsequent production deployments were successful first time around. The application has been scaling to process shifts in load as expected with no manual intervention. The logging, alerting and monitoring solutions have provided the necessary visibility into the environment to allow the team to diagnose issues and proactively discover them before performance is impacted.
One of the major benefits of this project is the creation of a repeatable pattern that has been adopted by other teams working on regulated applications. This facilitates internal team members’ abilities to comfortably switch between projects due to similar implementations and, going forward, should act as a mechanism to reduce technical debt. It also lays significant foundational work for future consultation with the regulatory body, making it easier for other teams to get the approval they need.