Power Matchmaking with Redis Enterprise via Google Cloud Marketplace
Volkan Civelek
Sr. Partner Solution Architect, Redis
Jon Foust
Developer Advocate, Google
Scalable Data-Layer for Connecting Millions of Players Online
Have you ever played a multiplayer game where the players could have been better? This scenario is common and is likely not an ideal experience for anyone.
Game developers try to ensure that when you play, your opponents are at least as good as you are. Accurately matching players is a requirement for multiplayer games because creating compatible matches means more retention and revenue. Most of all, it increases players' loyalty to the game and boosts turnover.
While it's essential, developing effective matchmaking functionality is a challenging task. Evaluating skill level and many other attributes instantly is a requirement. Matchmaking in gaming needs to be blazing fast, as no player will wait long to get into a game session.
Challenges
The advancement of both hardware and software enables large-scale games where hundreds of players are getting matched to start a game or an experience. Concurrent players in popular games are on a steady rise. Nowadays, popular games' concurrent players range anywhere from 3 million to 10 million1 depending on the game, day, and time of the year.
While the player pools are expanding, the latency expectations are shrinking. These two forces drive the need for horizontally scalable and blazing-fast matchmaking backends. Because of this, Google teamed up with Unity and created a framework called Open Match. Open Match runs on Kubernetes, and Redis is the data layer. The goal was to create an auto-scalable matchmaking framework to prevent reinventing the wheel and allow developers to focus on the logic to connect players for games. Previously, we looked into Memorystore with Open Match so now we will look into Redis Enterprise in Google Cloud Marketplace.
Redis Enterprise in Google Cloud Marketplace
As the advancement of both hardware and software pushes more concurrent players and large numbers of players per game, scalability has become the top priority for Open Match. Since Open Match runs on Kubernetes, the compute layer can auto-scale with technologies like GKE's Cluster autoscaler and is usually not a big concern for DevOps engineers. However, achieving scalability and high availability at the data layer is a mundane task for Open Match DevOps teams.
As the first step towards the scalability and high availability challenges, we stood up the Open Match framework with Redis Enterprise Cloud in place of OSS Redis. Redis Enterprise scales linearly and scales with a click of a button without requiring downtime, which massively reduces the scalability burden. On top, high availability is just a slider on the admin console.
Redis Enterprise Cloud is a fully managed service with 24/7x365 support and 99.999% SLA and offers simplified billing through a single Google Cloud Account.
VPC peering
You can deploy Redis Enterprise Cloud through the Google Cloud Marketplace or through the Terraform provider in a matter of minutes. Once the database is created, by providing the Google Cloud Project and Network name, you can peer the VPC the GKE cluster belongs to with Redis’s managed VPC. After the peering is completed, the GKE cluster could connect to the Redis Enterprise database through the database's private endpoint.
Open Match with Redis Enterprise Cloud
Assuming your newly created Redis Enterprise Cloud database has been provisioned, it is ready for use. You can run the following helm command to install Open Match on your GKE cluster pointing to the Redis Enterprise Cloud instance:
For example,
You can follow this tutorial to deploy and run the Open Match demo to generate matches and see Redis Enterprise in action.
Summary
Redis Enterprise on Google Cloud provides linear scalability, high availability and five-nines (99.999% SLA) of availability through Active-Active Geo Distribution feature spanning over 20 Google Cloud regions to support global game launches. User spikes are real and significant opportunities for the success of the game. Game companies need to be ready for these moments and do everything possible to retain the players on the platform. Adopt Open Match with Redis Enterprise for accurate, compatible, and ultra-fast matchmaking functionality at scale.
Next Steps
Footnotes:
1. Fortnite Player Count - How Many People Are Playing Now?
A special 'thank you' to Gilbert Lau, Cloud Partner Solution Architect, Redis for his contribution to this article.