Industry: Social Networking, Hypergrowth Startup, Media & Entertainment
Use Case: Caching APIs, Caching PostgreSQL Databases
I worked at AWS from the very early days (from 2008-2022)—back when there were only a handful of services. I learned that delivering a delightful experience focused on the core of what our customers found important was an approach for igniting sustained and rapid growth for the business. Now I work at Saturn, where we’ve followed that same approach. Giving our users a delightful experience is core to our values.
Saturn helps high-school students connect with each other via their calendars. The enthusiasm with which our users adopt Saturn to manage their class schedules is evident in the growth we see as word about Saturn spreads within schools or school districts.
It’s exciting to be working with the team that enables all this growth, but the challenges do not stop with just scale. Traffic patterns can be unpredictable and sometimes even the predictable patterns require us to think very carefully about our architecture. Nevertheless, feature velocity is crucial to our success—the ways in which our users choose to spend time together are vast and always expanding; we want to help them make the most of that time.
Whenever a new scaling threshold is reached, the requisite tuning, scaling, failing over, and load-testing of caches and databases quickly starts to distract teams away from building features and fixing bugs. Throwing money at your infrastructure can mitigate some of this—but when you start calculating that additional cost as it relates to our rate of user growth, you end up with a big number (the bad kind). We needed a fundamentally different approach to address our scaling challenges.
Enter Momento. Over the course of my engineering career, I have learned to exercise skepticism when encountering new Infrastructure as a Service (IaaS) offerings. This requires diving deep below the surface of their interfaces and to ensure they actually understand and deliver on the fundamental needs of their customers.
In the midst of the challenges we were starting to encounter with our existing caching infrastructure, Khawaja and the team at Momento quickly convinced me of their ability to deliver what, at the time, seemed too good to be true. I gave it a shot. I would have been happy if Momento were just a solution to our scaling challenges, but—to my surprise and delight—Momento actually raised the bar for the experience of setting up the cache. In fact, I onboarded faster than it takes a traditional cache cluster to spin up. I was so impressed by this that I had to consider that maybe I was biased—and too excited about a technology that an old coworker had built. I informed my team about Momento and waited for their reaction. I suggested to my team that, as a first integration of Momento, they try it out with a newly-built component that still needed caching and heard back shortly after:
It was a whirlwind from dev to prod, and Momento blew us away! Faster, scalable, and half the price of our old cache fleet—all integrated in just one week. Now, Momento powers our requests and sits between our API layer (Amazon EKS) and Amazon Aurora PostgreSQL database. I am still in disbelief!
Architecture with Momento Cache
Since Momento is so fast to integrate, we can add caching where we previously avoided it because of how long it was going to take. This will help us cut down on our database spend longer term. Thanks to Momento, our team can cache without the operational burden. Plus, with Momento’s elasticity and consumption-based pricing, our caching cost is now relative to actual traffic instead of fixed for peak load. This is especially important to Saturn because of our spiky traffic patterns that correlate directly to the peaks and valleys of the school year, the school week, and even the school day.