“Redis enables us to build high-performing, reliable features”
Does Redis really have an uptime of 99.999%? We had a chat with Maurice Ko, VP of Engineering and Ryan Wallace, Lead Software Engineer at Kabam about how Redis has benefited their business, how they use it at their company, and its most beneficial use cases are.
JAXenter: Thank you for taking the time to speak with us Maurice and Ryan. Can you tell us about how Kabam has found success using Redis? How has using Redis benefited both Kabam and your players?
Ryan Wallace: We use Redis in many cases where we store transient data requiring frequent, low latency access. We’ve found uses for it in session storage, online status, matchmaking, player search, chat, and more. We also use it to coordinate events across our API cluster.
Maurice Ko: Redis benefits Kabam through its ease of use, versatility, performance, and reliability. It has allowed us to build and deliver great new features players love, quickly, by leveraging Redis’ powerful feature set. When we’re able to solve complex problems quickly, players get more features in our games. Kabam is on a mission to entertain the world, and Redis enables us to build high-performing, reliable features to do so.
JAXenter: According to Redis, their uptime is 99.999%. In your experience, is this true? And how does that transfer to player engagement?
Ryan Wallace: As the backbone of a number of our mission-critical systems, such as sessioning, it is essential to us that Redis be reliable. We’re thrilled with their uptime to date – in our experience their report of 99.999% uptime is true.
Mobile gaming is an extremely competitive business, and any downtime translates to negative player sentiment, decreased engagement, and lost revenue. Reliability is very important to us, and Redis is one component of our tech stack we generally don’t have to worry about. It just works.
JAXenter: What are some benefits of switching from disk-based databases? Are there any downsides, or things decision-makers should know about before making the migration?
Ryan Wallace: A clear benefit is the improved latency. Redis is lightning fast. Beyond that, Redis is very flexible. Using Lua scripts to run logic on the DB is extremely powerful.
Something to consider is that Redis is not a replacement for disk-based databases. Being an in-memory database, Redis is better suited for smaller data sets, transient data, and particularly hot data. For larger data sets, or storage of more permanent data, disk-based databases will be more cost-effective.
JAXenter: What are some surprising features or uses for Redis that the average user may not know?
Ryan Wallace: Redis is more than just a database. The pub sub feature is the backbone of our client websocket messaging system, which supports numerous game features, as well as in-game chat.
Geospatial indexing provides a great solution for multi-variable matchmaking.
JAXenter: You have over 10 years of experience with game development. What newer technology has been the most essential in leading a company towards success?
Maurice Ko: Any technology which enables scalability is crucial to success. Free-to-play games in particular, require massive scale to generate significant revenue. Redis helps us to scale by acting as a communication layer for our API clusters.
Ryan Wallace: With Redis now supporting sharding, it is able to scale to meet our demands, as we grow our games.
Paired with powerful infrastructure tooling like Kubernetes, Terraform, and Ansible, scalability is more achievable than ever in the current tech landscape.
JAXenter: Besides Redis, what are three of the most essential tools in your toolkit?
Ryan Wallace: NodeJS, MongoDB, Terraform + Ansible.