Improving Team Productivity by Automating Distributed Application Deployment

INDUSTRY

Wagering / Gaming

CUSTOMER OVERVIEW

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.

Case Study

BUSINESS CHALLENGE

With millions of dollars worth of investment, our client is releasing a product unique to the Australian wagering market. This regulated software is a distributed application containing 15 services, running on a total of 32 servers with a combination of operating systems. In order to provide high availability to the entire platform, the infrastructure is architected with multiple clusters & multicast interfaces.

The deployment of these services has special requirements as they need to be run on both clustered & non-clustered platforms, while being deployed in a specific sequence & configuration. Prior to Cevo’s engagement the deployment was done manually with more than 10 hours of required effort.

The biggest challenge was deploying these applications across multiple environments like dev/beta, pre-production etc. Not all test environments were equipped with a production-like setup to keep the infrastructure cost low, and this made the deployment process even more challenging to meet the requirements of each environment.

Case Study

SOLUTION

Working alongside our client, Cevo helped to streamline the deployment strategy for each environment. With the help of tools like Docker, Ansible and Jenkins, a single deployment solution suitable for any environment type was created. This was achieved by using an ‘environment profiling’ technique where the specification of each environment was defined into a separate configuration file. Based on the type of target environment, the right config file is then supplied to the deployment pipeline.

With this strategy, our client eliminated the need for writing environment specific deployment scripts. Also, having a single code-base allowed reproducible deployments across all environments. This has also dropped the deployment window to less than 30 minutes.

While working closely with our client’s development team, Cevo identified other issues which were blocking the developer’s ability to test their work when software testers were engaging any environment. After analysing the situation, a solution was devised allowing each developer to spin-up their own test-stack in AWS on-demand. Leveraging the earlier work, they were also able to configure their test-stack to mimic any environment.

Case Study_1

BENEFITS

By implementing an automated deployment strategy, our client managed to cut down a significant amount of time previously wasted on manual deployments (from 10+ hours to under 30 minutes). It also allowed them to release new patches more frequently on test environments. Since the deployment scripts were written in Ansible, it was easy to understand & maintain the code.

Further, the ability of spinning up dev-stacks on demand gives developers the freedom to continue their development without any interruptions. This improvement in infrastructure & deployment automation has boosted the productivity of each team.