Upworthy is a media website with a mission to drive massive amounts of attention to important topics. Every day, their curators scour the web to find compelling, meaningful stories — including videos and graphics — to deliver to readers around the world. As of December 2014, Upworthy engages around 50 million people each month, and encourages them to share what they read with family and friends.
Upworthy needed a way to scale their infrastructure to support the surge in traffic that made them the “fastest growing media site of all time.” They knew that using a more transparent, customizable CDN that would enable them to publish new content in real time and shield their origin from viral traffic spikes was critical to their success as a popular media site. Upworthy chose Fastly after learning how GitHub used it to effectively scale their infrastructure, and because their team needed a modern, flexible CDN.
“All of our public assets (HTML, CSS, JS, images, and even some JSON) are being served out of Fastly’s global CDN. This is a huge win for us. Our site’s mobile load time has improved significantly. We were able to turn off Rails action caching, and instead manually set Fastly-optimized Cache headers from our Rails controllers. Most importantly, our public site hasn’t experienced any significant downtime since we moved to Fastly.” Tim Jones, Former CTO
As a rapidly growing media site, Upworthy needed to get up and running on a CDN quickly. Because Fastly makes it easy to self-provision, Upworthy’s team could make changes themselves through the developer-friendly and intuitive UI without needing to engage professional services to migrate. When Upworthy wanted to implement more custom and complex features, they contacted Fastly support, which they found responsive and knowledgeable.
“Fastly has been great to work with. The setup process was really straightforward and easy. When we decide we want to do something out of the ordinary, Fastly has been customizable in a way that’s really useful for us.” Tim Jones
Fastly is the only CDN built on Varnish, a web accelerator for dynamic content that enables intelligent caching and allows customers to push application logic normally performed at origin to the edge. On Fastly, Upworthy can write and instantly deploy Custom Varnish Configuration Language (VCL) to suit specific requirements, such as serving slightly outdated content instead of an error in the event of an origin outage, ensuring a better experience for readers. Upworthy had never used Varnish prior to Fastly, but the team now writes their own VCL to further customize their content delivery.
“Fastly edged out other CDNs in terms of the level of technical configuration we were able to achieve.” Tim Jones
Upworthy publishes stories that receive massive amounts of attention, so the team needed to be able to update content quickly while maintaining consistent performance for their readers. On Fastly, Upworthy can deploy updates in milliseconds, so readers always see the freshest content. Fastly’s Origin Shield lets Upworthy designate a single point of presence (POP) to receive traffic, protecting their origin when an article attracts a great deal of traffic.
“Fastly’s Origin Shield protects us from spikes in traffic while still letting us maintain granular control on purging and updating content.” Tim Jones
“We chose Fastly because we publish a lot. Purging to clear the cache in real time was a really high priority for us. Instant Purge lets us instantly update content across either our entire site or per article, and that made Fastly an easy choice.” Ryan Resella, Senior Engineer
Fastly’s surrogate keys allow Upworthy to group different objects together with a single key — for example, all articles, authors, and topics related to “Environment” — and expire them all together with a single API call instead of purging individual URLs or purging the whole site. This way, Upworthy can purge stale content more intelligently and efficiently, providing the most up-to-date content without overwhelming their origin servers.
“Surrogate keys are another really important feature. They let us purge content for posts a little more gracefully than some of Fastly’s competitors. Once we figured out what surrogate keys we needed and how to pass headers, it was easy to get Fastly working.” Tim Jones
“Upworthy had a very large increase in mobile traffic, and Fastly helped us reduce the load on our origin. We use Heroku, and once we moved to Fastly, we cut our dyno usage in half, reducing infrastructure costs.” Ryan Resella
Fastly improved Upworthy’s performance on mobile and desktop while allowing them to scale with a leaner setup. By serving the most-requested static assets from the edge instead of the origin, Upworthy is shielded from traffic spikes and their readers experience less latency. With Fastly, Upworthy can serve their readers the freshest content while improving overall site performance.
“We were serving our images straight from S3 before, and now we’re serving them up through Fastly — it’s really increased speed.” Ryan Resella
“Fastly has allowed us to improve performance overall, and we’re actually running a much leaner setup. Now, our latency is really good. Before Fastly, our miss latency was terrible; it could be anywhere from 5-10 seconds. Because Fastly gives us real-time insight into our site’s performance, we were able to make the necessary changes to our infrastructure. Now our miss latency is well below 1 second.” Pavel Repin, Senior Engineer
Upworthy uses the Fastly Dashboard and streaming logs to monitor performance in real time. Upworthy hosts entirely on cloud-based services, and the ability to view Fastly’s stats alongside other cloud providers gives their team a holistic and real-time account of site health.
“Streaming logs have been really helpful for us because we have a pretty extensive in-house analytics system. The main reason we built it was to help with the day-to-day operations of the editorial team, but we also use it to track our health metrics, debug and diagnose tech problems as they happen. The Fastly Dashboard is really useful — when we are dealing with a spike or instability, Fastly is one of our go-to places for monitoring system health.” Tim Jones