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.
Use Case: In-Game Chat Platform
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.
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.
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.
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.
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 24x7—even though most hours of the day we weren’t using all of that CPU, memory, or network capacity we were paying for.
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.
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.
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.
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 with Momento Cache
ZigZaGame’s Momento Cache implementation leverages the Momento .NET client, makes use of Momento’s collection data types (dictionary, list, 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.
If you are a game developer and want to use Momento Cache to make your in-game messaging or leaderboard workloads faster while reducing costs and operational burden, get started with Momento here.
Tom Delorenzi is CTO at ZigZaGame, and is in charge of all mobile development for ZigZaGame's platform, including frontend and backend engineering. Tom has worked in the Gaming industry since 2010 and the earliest days of mobile game development for iPhones and iPads and flash entertainment titles. And prior to that spent a decade in Telecom engineering, including Engineering and Design lead roles at Ericsson.
Michael Landis is a Software Engineer at Momento. He has over 15 years of experience in software and product development with special expertise in data science and machine learning. He's passionate about making developers' lives easier and is well-loved by customers for his attentiveness, scrappiness, and drive for complete solutions.