Allrecipes.com’s Secret Ingredient for Scalability

Allrecipes — the world’s largest, fastest growing digital food brand — receives more than a half a billion visits annually from cooks who create, save and share food experiences through recipes, reviews, photos, blog posting and more. As their peak traffic season approached, Allrecipes knew it was time to look for a new solution for scaling data on their website. They now use Couchbase Server to alleviate scaling issues and have increased reads-per-second by 10x.

Situation

Allrecipes — the world’s largest, fastest growing digital food brand — receives more than a half a billion visits annually from cooks who create, save and share food experiences through recipes, reviews, photos, blog posting and more. As their peak traffic season approached, Allrecipes knew it was time to look for a new solution for scaling data on their website. They had outgrown the proprietary caching system they’d implemented less than a year prior, resulting in an increased rate of cache timeouts and failures. This system not only failed to scale as expected, it gave the development team extremely limited visibility, making troubleshooting performance issues extremely painful. Rather than pursue a fix to their existing solution, Allrecipes decided to make a change.

A fundamental requirement for the new solution was that it had to manage frequent requests for a large number of cached items, and scale out as needed to support the needs of the application. Of equal importance, the new solution had to be quick and easy to implement within their existing infrastructure stack, particularly Windows and .NET (most options were Linux based and seemed overly cumbersome to install and implement).

Solution

After investigating several options, the Allrecipes team selected Couchbase Server because it was simple to install, easy to develop against with a C# .NET client, and provided straightforward scale-out data management solution that was easy to plug into their existing environment.

They implemented the solution using the Enyim Couchbase Client in combination with their own interface to the infrastructure for caching, and so it was very easy to plug in the Couchbase Server with minimal changes to their code base. Due to the limited changes to code and the simplicity of Couchbase Server the time taken to tie everything together was significantly reduced, which gave them a quick turnaround time to implementation.

Results

Couchbase Server has delivered measurable improvements for Allrecipes. Over the course of the six days prior to switching to Couchbase Server, the Allrecipes site served 53 million page views and logged almost 100,000 errors related to data calls. In the six days after switching to Couchbase Server, more than 55 million page views were served with only 163 errors. Also the number of requests-per-second that can be maintained has increased 10x since Couchbase Server was deployed. Processing on the web service has been significantly reduced, and the load balancer no longer has to maintain as many open connections to the website.

There have been many additional benefits to using Couchbase Server. The Allrecipes team has found Couchbase Server to be extremely simple, and a huge time saver for the team, especially when it comes to troubleshooting. Also developers can install Couchbase Server on their local machine to do ongoing development work, which makes it much easier to reproduce a production-like environment. In addition the Allrecipes team finds the dashboard overview in Couchbase helpful to see what's going on in cache, including top-requested keys, get hits and get misses, etc., which help them further analyze site and data activity.

Couchbase allows us to stop spending so much time thinking about caching so that we can focus on more important development initiatives like building great features on allrecipes.com.”

– Barbara Antonio, CTO at Allrecipes.com

Allrecipes, the world’s largest, fastest growing digital food brand, received more than a half a billion visits last year from cooks looking to find and share everyday food experiences through recipes, reviews, photos, blogs and more. For more than 14 years, the Seattle-based site has served as a dynamic, indispensable resource for cooks seeking trusted recipes, entertaining ideas, everyday and holiday meal solutions, practical cooking tips, and food advice. In addition to its flagship site, Allrecipes.com, Allrecipes has 16 International sites serving cooks in 22 countries in 11 languages. Allrecipes is also seeing huge success in the mobile space — Allrecipes.com Dinner Spinner is the world’s most popular recipe app with more than 7 million downloads to date.