Anstream.
Anstream engage Code Wizards to migrate to custom AWS solution following GameSparks deprecation
“At Antstream we’re busy building our world leading streaming platform. Working with Code Wizards has allowed us to concentrate on the core while they help with specialisms and allow us to scale. Whether it’s LiveOps, Esports, Server Scaling or just Development capacity – they’re always a joys to work with.”
– Steve Cottam, CEO, Antstream
Executive Summary
Antstream, a British games company, were looking to keep their cloud-based gaming service online after the deprecation of GameSparks.
After utilising Code Wizards to evaluate the viable market options, Antstream decided to engage Code Wizards further to build a custom LiveOps platform built upon Amazon Web Services (AWS) components as their target infrastructure.
Key AWS services configured by Code Wizards include AWS Lambda, Amazon API Gateway, Amazon EventBridge, Amazon Simple Storage Service (S3), Amazon Simple Notification Service (SNS), Amazon Simple Queue Service (SQS), AWS CloudTrail and MongoDB (Atlas).
The new architecture allows for future growth, extensibility, increased application uptime, resiliency, and response times.
The Challenge
Following the announcement that the GameSparks LiveOps platform was being deprecated, Anstream required a custom platform to be architected and developed before the switch off date. Antstream Arcade is a live service and as such all existing player data needed to be migrated, along with all bespoke business logic that was developed into the GameSparks platform. There were some key challenges during the project, details of which are listed below.
Availability
- Complexity
- Business logic extensions to core GameSparks functionality needed rewriting into a new platform. Understanding the complexity of their operations was essential before starting.
- Live data migration from source to target platforms is intricate. Ensuring data is available at the earliest time to reduce business impact is of paramount importance.
- Unpredictability.
- When designing migration procedures, as well as business logic it’s essential to migrate the source data. However, data complexity can make the mapping process complicated, and as such multiple samples of the source data required investigation to check for edge cases.
- Even after running multiple transformations to test the process, it is still tricky to accurately predict when the data will be available within the target platform.
- Human error
- Even with diligent planning, human error can occur. This can lead to data loss, corruption or failed server starts, ultimately impacting availability.
Code Compatibility
- Programming languages
- The source and target systems were using different programming languages, so ensuring comparable features were developed required a multitude of testing.
- Different libraries and dependencies
- Due to the different languages, the source and target systems used different libraries and dependencies; leading to compatibility issues.
Data Migration
- Complexity
- Data migration is a complicated and time-consuming process determined by data size and data relationships.
- Data loss
- Even with multiple test runs there is still a risk of data loss during live data migration; either from human error, technical problems, or natural disasters.
- Downtime
- Pausing business functions throughout data migration is essential, both in terms of technical process as well as user facing systems. This can impact business operations and customer satisfaction.
- Cost
- Data migration can be a costly process over both ingress and egress costs, as well as time to ratify the migration outputs.
Solution
Code Wizards implemented a solution that used the following AWS services:
- AWS Lambda
- TypeScript based serverless functions were engineered. Each business domain was handled by specific Lambdas to adhere to the single responsibility principle
- GameSparks had custom cloud code functionality, utilised extensively by the Antstream implementations. Antstream and Code Wizards worked together to come up with solutions to migrating over the cloud code. The best solution for Antstream was to rewrite and rearchitect the cloud code into a brand-new Lambda solution, this gave them full control over the source code and did not rely on legacy code.
- Amazon API Gateway
- HTTP and Socket gateways were implemented. The messaging subsystem utilised the socket gateway, where all other facets of the application utilised the HTTP API Gateway. This differs from the classic GameSparks implementation that was completely socket based as Code Wizards determined sockets were not necessary for all communications.
- Amazon EventBridge
- Amazon EventBridge was used for notifications within the application, such as messaging, currency and goods updates. These notifications were posted to EventBridge within the code created for the Lambdas.
- MongoDB
- Using the AWS Marketplace offering for MongoAtlas a MongoDB was created within Antstream’s infrastructure. The underlying GameSparks data store was originally MongoDB, so this ensure the closest level of compatibility whilst so much of the other infrastructure was modernising.
- Data Migration
- Using a proprietary data migration application developed by Code Wizards data from GameSparks was able to be migrated to MongoDB.
- The system was put into maintenance mode to reduce any chance of data loss what could occur if data was still be inserted or updated on the platform simultaneously.
- After the migration was complete, extensive tests were carried out before releasing the platform for public use. Ultimately users were not impacted by the change in services and were then able to restart playing as normal.
Results and Benefits
With Code Wizards help, Antstream, were able to fully move off a deprecated platform before it was shut down. The well architected and scalable solution that was provided to Antstream by Code Wizards gave the following benefits and results:
- Fully custom and scalable solution
- Antstream can now have fine control over the scale of their Database infrastructure. Using serverless Lambdas also reduces costs due to compute only being used when required by the players.
- Flexible implementation
- As this solution is completely custom Antstream are free to customise and change any pieces of the infrastructure. They are no longer tied to a live ops platform and required to follow their way of working.
- Retained player data.
- GameSparks stored player data such as username and password hashes as well as game progress. When GameSparks shut down, this data was deleted meaning that players would have lost access to their accounts and their game progress.
- Retained online features.
- GameSparks provided a variety of online features within Antstream Arcade, such as multiplayer, matchmaking, and leaderboards. When GameSparks shut down, these features were no longer available.
- Decreased development costs.
- Without Code Wizards, Antstream would have incurred vast costs from retraining their current team as well as hiring experts to help them migrate and deploy to new infrastructure.
- Continued revenue
- Antstream Arcade was heavily reliant on GameSparks, the shutdown would undoubtedly have led to a loss of players and revenue
Subscribe to our
newsletter
"*" indicates required fields