We’re sorry we missed you at re:Invent, but we can still meet!

Momento enables ZigZaGame to go fully serverless—and save money in the process

Learn how Momento Cache eliminated operational pain and lowered total cost of ownership for ZigZaGame's in-game chat platform.

Tom Delorenzi
Author
Michael Landis
Author
GamingAWSMomento Cache

Share

Industry: Gaming

Use Case: In-Game Chat Platform

Solution Overview

ZigZaGame—makers of Evertale, NeoMonster, and Tokyo Debunker—is a global gaming company. Gaming workflows often endure spiky workloads, which require expensive overprovisioning and operational pain. To reduce this burden, we decided to move to a serverless architecture, and we needed a cache that could scale to support our in-game chat during unpredictable peaks. 

Despite being overprovisioned, our Redis servers struggled to keep up with spikes. This got even more painful as we migrated to AWS Lambda, requiring the Redis nodes to handle too many concurrent network connections. The VPC requirements from Amazon ElastiCache Redis also added complexity to our serverless stack. We required a scalable serverless caching solution to reduce our operational complexity and financial spend while improving overall availability and performance.

Momento Cache offers a delightful developer experience. We were able to onboard within weeks, reduce our total cost of ownership, and improve the overall performance of our serverless stack.

Improvements to ZigZaGame's in-game chat platform with Momento Serverless Cache

Before Momento, we had surges of sudden connections as well as cold start times caused by Redis. This blocked our migration to a serverless architecture for our in-game chat platform, which Momento Cache resolved. It worked so well for this application, we will adopt it for other caching projects in 2023.

About ZigZaGame

ZigZaGame Inc. is a successful mobile gaming company. ZigZaGame’s most recent title, Evertale, has been ranked #1 in the Role Playing Game (RPG) category in the mobile app stores of over 122 countries with over 10 million downloads. By combining in-house expertise in game production, marketing, and data analysis into a unified, holistic approach to games, ZigZaGame is able to deliver top-tier entertainment to users throughout the world.

Initial State

ZigZaGame’s legacy messaging platform was built on AWS ElasticBeanstalk jobs pushing into a fixed Amazon ElastiCache Redis cluster. Explosive user growth made it clear a modernization to serverless was required to overcome these three major caching pain points.

  1. We suffered from high cost due to lack of elasticity from the fixed Redis cluster. Our user traffic is highly variable with low gamer traffic in the middle of the night but massive spikes of 100s of thousands of concurrent gamers during busy hours such as the evening. Without elasticity, we were forced to size our Redis cluster for our peak load and run it 24×7—even though most hours of the day we weren’t using all of that CPU, memory, or network capacity we were paying for.
  2. Bursts of new users joining at once would launch thousands of AWS Lambdas that cause thousands of connections. This would overwhelm the Amazon ElastiCache Redis cluster and it could not serve all of those AWS Lambda connections. This was blocking the move to serverless.
  3. Our small backend engineering team was already oversubscribed for a wide array of important tasks. The overhead of managing the Redis cluster became a significant distraction.

Product Discovery

We began using Momento Cache as a path to the fully serverless future. Momento’s on-demand pricing model and instant elasticity created a significant opportunity to reduce our total cost of ownership. The scalability of Momento provided a way to serve the thousands of concurrent AWS Lambda connections. Momento’s serverless deployment model automatically handles capacity scaling, cache hit rates, tail latencies, and hot keys. This improved productivity of our backend engineers and entirely offloaded caching operations.

Implementation

We integrated Momento into our AWS API Gateway and AWS Lambda-based architecture quickly and easily, completing our migration to Momento in just weeks. Momento helped us go fully serverless! It handled thousands of concurrent lambdas and eliminated VPC configuration complexities.

Architecture without Momento Cache

Architecture before Momento

Architecture with Momento Cache

architecture with Momento Serverless Cache

ZigZaGame’s Momento Cache implementation leverages the Momento .NET client, makes use of Momento’s collection data types (dictionarylist, and set) and counters APIs, and ZigZaGame deploys Momento on-demand via the AWS Marketplace.

Momento was simple for our team to implement and their team was great to work with. Momento collection data types were easy to use, worked as expected, and their team even added ListTruncate functionality at our request, which really simplified our architecture.

Results & Future

Momento Cache allowed us to unlock the benefits of a serverless architecture with AWS Lambda, delivering a 30% lower total cost of ownership for our in-memory datastore for the chat platform. The amount of time our backend engineering team has to spend managing caching infrastructure is nearly eliminated, and future user growth of our titles will be easily handled from both availability and cost efficiency standpoints.

  • Learn how ZigZaGame launched its latest game, Tokyo Debunker, with low latency messaging without WebSockets! Read case study.
  • If you’re a game developer looking to speed up in-game messaging or leaderboards and cut costs, start using Momento.
GamingAWSMomento Cache