52 Entertainment.
52 Entertainment leverage Code Wizards expertise to migrate to AWS following GameSparks deprecation
“Code Wizards were very efficient and transparent. It was a pleasure working with them as they brought valuable advice, insight and development to achieve our project’s success.”
– Daniel Ross, Head of IT and Development, 52 Entertainment / Virtual Regatta
Executive Summary
52 Entertainment, a French e-gaming specialist, were looking to keep both of their Virtual Regatta titles (Inshore and Offshore) online after the deprecation of GameSparks.
Code Wizards were engaged by 52 Entertainment to evaluate the options across the game tech arena, and eventually a completely custom “roll-your-own” implementation utilising Amazon Web Services (AWS) architecture was chosen as the 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 increased application uptime, resiliency, and response times while also creating a scalable architecture.
The Challenge
52 Entertainment needed a full custom LiveOps platform architected and developed at speed, due to the GameSparks deprecation. As a live game, this also required all existing player data and custom logic migrated from GameSparks to AWS infrastructure. Some key focus points of the project included Availability, Code Compatibility and Data Migration. The challenges that each of those areas contained are detailed below.
Availability
- Complexity
- Data migration can be a complex and time-consuming process. This can make it difficult to ensure that the data is available throughout the process.
- Unpredictability.
- There are many factors that can impact a migration process, including the size and complexity of the data, network bandwidth and the availability of the source and target systems.
- It is also 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 may use different programming languages, making it difficult to guarantee compatibility.
- Programming language versions.
- The source and target systems may use different versions of the same programming language; leading to compatibility issues.
- Different libraries and dependencies.
- The source and target systems may use different libraries and dependencies; leading to compatibility issues.
- Changes in the underlying platform.
- The underlying platform of the target system may have changed since the code was originally written; leading to compatibility issues.
Data Migration
- Complexity.
- Data migration can be a complex and time-consuming process often determined by data size and data relationships.
- Data loss.
- There is always the risk of data loss during a data migration. This can be caused by human error, technical problems, or natural disasters.
- Downtime.
- Data migration can often cause downtime for the systems involved. 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.
- Security.
- Data migration can introduce security risks, as the data is being moved between systems.
Solution
Code Wizards implemented a solution that used the following AWS services:
- AWS Lambda
- Serverless functions written is TypeScript were engineered. Each “Domain” of the application was split up into separate Lambdas, e.g Player Management, Messaging and Authentication.
- GameSparks had custom cloud code functionality, utilised extensively by the Virtual Regatta implementations. To minimise the downstream code changes, Code Wizards implemented a custom “shim” layer that spoofed the GameSparks Cloud Code interfaces and allowed the existing code to work within AWS Lambdas.
- Amazon API Gateway
- Two API gateways were implemented, HTTP and Socket. The socket gateway was used for the messaging part of the application, whilst everything else used an HTTP API Gateway.
- Originally all GameSparks interaction was performed using sockets but after closer investigation 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 52 Entertainments 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. During such a sizable migration there was increased chance of data loss, so the game was put into maintenance mode for 12 hours. After migrating the data, extensive tests were carried out before releasing the game back to public. Ultimately users were not impacted by the change in services and were able to continue playing as if nothing had happened.
Results and Benefits
With Code Wizards help, 52 Entertainment were able to avoid business interruptions from the GameSparks deprecation, and the new platform was operation before the shut down date. The solution that was provided to 52 Entertainment by Code Wizards gave the following benefits and results:
- Decreased development costs.
- Without Code Wizards, 52 Entertainment would have incurred vast costs from retraining their current team as well as hiring experts to help them migrate and deploy to new infrastructure.
- Enhanced scalability
- Heavily utilising Lambda processing ensured the Virtual Regatta estate is best equipped to only spend as required, whilst best leveraging processing speed that the fan in, fan out architecture provides.
- Player Data Retention.
- 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.
- Continued Online Features
- GameSparks provided a variety of online features within Virtual Regatta, such as multiplayer, matchmaking, and leaderboards. When GameSparks shut down, these features were no longer available.
- Continued business.
- Virtual Regatta 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