What’s your unified caching strategy?

The world’s most successful digital businesses have a holistic strategy for data caching. Are you missing out?

What’s your unified caching strategy? The world’s most successful digital businesses have a holistic strategy for data caching. Are you missing out?

Data caching is an essential component of any modern business infrastructure, providing faster access to data and improving performance across the board. The largest digital businesses in the world implement sophisticated caching architectures as a differentiator to deliver superior end user experiences and cost optimized data infrastructure at scale. A few of the well-documented examples include Meta’s CacheLib engine, Twitter’s unified caching platform Pelikan, Netflix’s EVCache and Snap’s acquisition last year of the KeyDB caching engine. So what do these digital giants know that causes them to invest so heavily in their own caching platforms?

It’s simple: if implemented correctly, unified data caching makes your cloud architecture easier to scale up/down, more resilient against failure, faster, and cheaper.

The business benefits of caching

Caching your centralized cloud data stores, including transactional databases, data warehouses, feature stores, data lakes, and more can improve customer experience, increase revenue, and reduce cloud infrastructure costs. A rare triple win.

Delivering modern applications is a critical and highly technical part of long term business success for almost every company in today’s digital age. Whether you are a small business with a hundred customers or a large business with a million, your customers expect to interact with you, your digital products, and your services in near real time. Things that in the past may not have been business critical now are. The businesses that are able to deliver on immediacy thrive and those that can’t wither.

Storing data in a lower-cost but highly performant data layer, like an in-memory cache, can be the difference between serving your customers or not. And it saves money as you can have a smaller database by isolating your database to serve only the most critical tasks while your cache does the heavy lifting.

Be Intentional?

Unfortunately data caching has too often remained an overlooked implementation detail and historically most businesses have not taken a unified, holistic, or strategic approach to data caching. Instead many legacy architectures took a fairly haphazard approach to caching where one application had some Redis over here, another app had some memcached over there, and then the different teams using Redis didn’t even compare notes or implement the same best operational practices across business units.

Luckily this is changing rapidly. The Momento team has had strategic data caching discussions with over 200 businesses over the past 14 months and we are seeing a marked shift among cloud customers over the past 9 months where more and more are beginning to realize that by taking an intentional and unified approach to data caching they can deliver significant cloud infrastructure cost optimization and end user experience improvement to their business.

One of our customers, CBS Interactive, noted in Momento’s launch coverage that when they run a database without caching it requires 16 database nodes, but with data caching it’s reduced to only four database nodes. That 75% reduction of database footprint is material savings. And they improve their customer experience in the process.

To grab these same benefits, cloud customers should be creating a unified approach to their data caching that includes a defined caching platform and set of architectural best practices that minimizes operations and delivers consistent scalability, performance and availability.??

Putting it within reach…finally

A few of the reasons that cloud customers have not taken a more strategic approach to data caching in the past is that the legacy managed services for memcached and Redis are operationally intensive and complex. They are rough substrates on top of which users have to tackle their own implementation of maintaining high cache hit rates, minimizing tail latencies, juggling hot keys or hot partitions, failovers for weekly maintenance windows, manual scale up/down, and dealing with cache invalidations. It quickly becomes apparent that to do it well you need to have a team of caching experts handling these tasks and ensuring that introducing caching in your architecture does not result in unacceptable operational risk. It’s no wonder that sophisticated caching was previously the exclusive domain of internet giants with multi-billion dollar IT budgets like Meta and Netflix who could have such dedicated, highly skilled caching teams.

Putting the power of data caching into the hands of every developer is why we built Momento Cache. It’s designed as an API-driven serverless managed service for any scale that is both powerful and simple to operate. It can scale from a few transactions per second to a few million and takes care of maintaining cache hit rates, managing hotkeys, minimizing tail latencies, and all of the other operational muck. Now developers can add a data caching layer with a few lines of code and then get on with building great applications. Our goal is to make the business benefits of caching easily accessible to anyone running in the AWS or GCP clouds.?

For example, Saturn, a hyper growth social network with a highly competent but very lean backend engineering team, had virtually given up on data caching as a common practice due to the operational complexity and cost of operating fixed Redis clusters. However, with Momento Cache, their team has once again unlocked the benefits of data caching for their PostgreSQL databases. Best summarized by a quote by one of their lead backend engineers:

“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!” -Cornelle Janse van Rensburg, Software Engineer, Saturn.

Charting your course?

From those hundreds of data caching customer conversations we’ve had over the past year plus, a few key patterns have emerged in the practical steps taken by businesses getting strategic about their data caching to inform your own path to these benefits:

  1. Clearly define your success criteria: Is your primary goal to reduce your customers’ average page load time by 50%? Or maybe it’s reducing your cloud database spend by 25% and your caching infrastructure spend by 50%? Or possibly it’s eliminating outages that occurred in previous years due to your primary databases getting overloaded? Most likely, it’s some combination of all of these benefits. Regardless, start by very clearly defining your business goals and the relative priority of each.??
  2. Set your high-level database direction: Consolidate your transactional databases around a minimal collection of Amazon DynamoDB, Amazon Aurora, MongoDB Atlas, Google AlloyDB, TiDB, CockroachDB, PostgreSQL, and/or MySQL. Define which of those is your main priority and how to attach caching to accelerate it.
  3. Embrace purpose built databases: Leverage the right data model for the job. You have a powerful collection of data models at your fingertips, including relational, key-value, document, in-memory, graph, and time series. Define the different problems you need to solve, the best data model for each, and if it can be accelerated with a cache. Right tool for the job.
  4. Define which layers in your app to cache data: Broadly you have three layers at which data can be cached: central caching, edge caching, and local caching. Central caches live in your cloud infrastructure to cache your primary database or as a standalone temporary data store. With an edge cache, you're storing content at multiple different locations at the edge of your network such as in your CDN. And a local cache stores cached data in a decentralized way, as close as possible to the client in their local browser. Closest to your end user is usually best, but again simply having a plan is the most important first step.?
  5. Take advantage of serverless databases and caches: To achieve maximum optimization of both infrastructure costs and operational overhead, leverage API-driven serverless operational models for your data models whenever possible. Your database strategy should include a move to the latest serverless databases such as Amazon DynamoDB, MongoDB Atlas, Amazon Aurora Serverlessv2, CockroachDB Serverless, TiDB Serverless, Fauna, and Momento Cache.
  6. Define your caching best practices: Every application is unique and you should make the design decisions that make the most sense for your application such as read versus write caching or inline versus lookaside caching. Create consistency.?
  7. Limit your API sprawl: While Redis is a powerful caching tool loved by many developers because it is easy to use and has many different data structures, a downside of Redis is that it has also morphed into a swiss army knife with many different use cases forced into it when it's not always the optimal tool. You will notice that a bunch of the internet giants listed at the beginning of this post who are the caching luminaries have actually standardized around memcached and not Redis. This is purposeful and because they have chosen to focus on the core tenets for their data caching of simplicity, speed, and cost optimization. With such priorities, a simple key value store with simple get/set functionality can meet the bill, and many of those customized memcached projects are focused on simply making it faster and more scalable under massive loads. The lesson here is to be strategic and minimalistic in the amount of data types you choose to support in your data caching so you don’t accidentally create sprawl and end up serving some use cases suboptimally just because you can support it with in-memory. Simplicity over complexity.

Ready to get started?

If you’re ready to take a more purposeful and holistic approach to data caching, Momento Solution Architects are ready to help you start learning how Momento Cache can make accessible what was previously only possible at world’s largest internet giants.

Don’t miss out on the benefits that those taking an intentional approach to caching are already reaping. Reach out today.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了