Adaptive CDN Approach to the Dynamic Caching Challenge
Whether you’re selling goods, booking vacations, or delivering 2016 presidential election headlines, your website is a reflection of your business values. If one of those values is to deliver a great customer experience (and we hope it is!) you’ll need to ensure consistent availability/uptime and dish out pages speedily across the planet – no matter how many visitors you have and what devices they’re using. This is where an adaptive CDN comes in.
Read All About It: Rich Layers of Content
This is no small task. Here’s why: most sites are now too dynamic and complex for the technologies that support them.
Once you dig down past the front end styling of any major site, even ones as different as Amazon, TripAdvisor, and CNN, you’ll find some common structural characteristics. Each page is typically comprised of three “tiers” of information and each presents different sets of challenges for performance optimization. They are:
- Constantly changing information. These are the purely dynamic areas, for example “breaking news” headline, a stock ticker, a personalized ad on a retail site, or the current air fares listed on travel sites. It’s minute-to-minute information, or information that’s specific to the individual user. The client device must retrieve these components directly from the originating server, rather than a CDN’s edge nodes.
- Regularly changing items. This is content like that of a brand site’s carousel or header area, or “new items” that are promoted on the home page for a discreet period of time. It could also include stock images pertaining to a news story that is in the headlines for a period of time, and other recurring graphics. In this tier, it’s more likely that the user’s browser will retrieve the content from a traditional content delivery network, since these are components that will be requested many times before they are retired. However since this content does change fairly regularly, there’s some overhead involved in cache management. That means propagating any changes in the site content to the CDN cache to ensure that users get the most recent content each time they visit.
- Completely static components. These include items like the brand or site logo, the site footer, navigation elements, and perhaps background graphics. A simple CDN can store these components close to the user – and for returning visitors they can be cached locally in the browser. These can be set with a far-future expires header (e.g. set in years) or huge max-age number on the cache-control (e.g. millions of seconds) and cached effectively forever until they’re manually flushed.
Where it gets tough
In the past few years, sites have shifted from vast majority static (third tier) content to be increasingly stuffed full of dynamic (1st tier) information. Meanwhile, the middle category has expanded as well, as sites have added more rich media and imagery, and simply more actively-managed content in general.
This presents a problem for caching and for the use of CDNs to boost performance. The two fast-growing “tiers” of content are ones that require either resource-intensive management on the cache layer or, worse, cannot be cached at all. That means the effectiveness of the traditional delivery infrastructure is declining (and we’re not even addressing mobile, where high network latency of mobile networks brings the traditional CDN’s potential effect down further).
So now it’s pretty clear where the opportunity lies for a new approach.
Adapting to the new web, from the front end to the infrastructure
What if the way a site is delivered addresses the presence of these “tiers” and in fact met them head on?
That’s exactly what we’re talking about when we talk about adaptive content delivery, or adaptive CDNs.
An adaptive CDN sees pages not as monolithic masses of code, but as a bundle of discreet pieces that can, and should be treated individually. In practice that means the CDN can, for example, push static content from the edge in parallel while dynamic content is fetched. It can also stream elements of the page in a particular sequence in order to mitigate the perceived delays of un-cacheable content. It’s all about how the user is using the page, not how the browser wants to render it.
There are also potential benefits for the caching of “middle tier” content. Rather than operating via hard-coded configurations on the server, an adaptive CDN can run as a proxy (i.e. a SaaS service). This way, caches can easily be managed with rules and automation, rather than manual updates to code.
Adaptive CDN Summary
The speed of devices and networks keeps going up, but that’s only part of the solution to optimizing the end-user experience. Content isn’t standing still; it’s getting more complex and voluminous. Nothing beats intelligent management when it comes to optimizing computer networks. And the best way is to move beyond a traditional content delivery network and embrace the adaptive approach for content delivery. For tips on delivering content and personalizing the user experience, you can schedule a free consultation with Yottaa and create the dynamic browsing experience your visitors want to see.