Optimising a gaming backend for enhanced performance and scalability

Processing millions of requests per day

Challenge

We were asked to assist a US-based gaming company in rewriting their backend to improve scalability, performance, and stability by breaking down a monolith architecture into micro-services. They sought help with rebuilding their critical transaction engine amidst a fragmented legacy stack with diverse libraries and languages.

Solution

We assembled a team of expert engineers with relevant experience who could quickly understand the fragmented legacy codebase and devise a solution despite limited client availability. We delivered the project in small batches to effectively track progress. Starting with an analysis of the Groovy (Grails) codebase, we divided it into logical units for parallel implementation, defined data models, and established contracts between the new micro-services and the remaining monolith, which helped shape our project backlog. We scaffolded the project using Backstage, creating a transaction engine in Go capable of processing hundreds of requests per second using a moderate instance, integrating with PostgreSQL, Redis, and AWS SQS queues. The new application was deployed in an AWS EKS cluster using a GitOps approach with Helm, Helmfile, and ArgoCD, while IAM and supporting resources were managed through Terraform, overseen by Atlantis integrated with the client’s GitHub. We ensured compatibility through end-to-end tests, each reflecting specific tournament types that served as our milestones, ensuring the new independent micro-services met all requirements.

Results & Impact

The project was completed in six months and was ready for rollout as per the client’s timeline. We developed an internal Go library with reusable components and leveraged our experience from previous projects to build robust end-to-end tests. Our involvement extended beyond the initial scope, as we also assisted in fixing the client’s infrastructure as code (IaC) issues, updating outdated Terraform resources, and integrating manually created resources into Terraform. The new system significantly outperformed the legacy version, with a faster, smaller codebase that enhanced debugging capabilities and extensibility, demonstrating our commitment to delivering a comprehensive, high-quality solution.

Appliscale delivers scalable, high-performance tech solutions, specializing in cloud migration, system architecture, and custom software to empower businesses worldwide.
Poland
Życzkowskiego 14
31-864 Kraków
1st floor
KPT Building
Ireland
Whiterock South
Wexford
Appliscale sp. z o.o. seated in Kraków, address: ul. prof. Michała Życzkowskiego 14, 31-864 Kraków District Court for the city of Krakow, 11th Commercial Division of the National Court Register registration number: 0000592380 Tax Identification Number: 9452189348 share capital: 100 000 zł.