As content owners have become smarter about delivering digital content, they have learned to develop workflow processes and integrated systems designed to publish, manage and deliver digital content. From websites to software downloads to games, these workflows have become the backbone of how organizations deliver their content and determine what the end-user experience looks like. CDNs have become a critical element of these workflows by enabling organizations to not only publish their digital content quicker but also to reach viewers with a quality of experience they might not be able to achieve on their own.
Content delivery networks empower organizations with faster content delivery, but also introduce complexities into the workflow, and therein lies the rub. Now organizations need to implement processes that enable them to manage objects not only on origin or storage but also in the CDN cache. With many CDNs, the process of cache management can be slow and tedious. Most CDNs support both cache invalidation, which marks content as stale and triggers a refresh the next time the content is requested, and cache eviction, which physically deletes the content from disk. But for some CDNs, these requests to invalidate or remove objects from cache can sometimes take hours resulting in users receiving incorrect or faulty content in the interim.
While invalidations are much more common, as they don’t re-download the entire content unless something has actually changed, evictions are sometimes required by policy, and generally take much longer to complete, as the files must be physically deleted from every server. And most CDNs only allow Exact URL matches, so when removing lots of small objects (say from chunked video, or many versions of the same HTML with differing query strings), this list can be daunting and error-prone to cobble together.
As part of a host of new services and features that Limelight Networks recently announced, one of the things they are looking to dramatically improve is CDN cache management. With this new technology, which Limelight Networks has named SmartPurge, customers can fire off a purge request and be assured that within seconds, all delivery edges stop serving content subject to the purge request. In the case of a cache eviction, while that’s happening, the SmartPurge technology removes the physical content object in the background. Their new SmartPurge user interface and API allows submitting a mix of up to 100 URLs or patterns in a single batch. Patterns can be automatically generated by the UI, and allow end-users to purge exact URLs, entire directories, all files with a particular name, all files matching a list of extensions, and more – all while specifying whether query terms should be included in the match or not. The purge request gets compiled into a single optimized request, and occurs atomically. Here’s a screenshot from their system:
For many, the choice has been fast or flexible, but not both. According to Limelight Networks, SmartPurge is the first CDN cache management solution that is near instant, completely flexible, atomic (the entire request completes at once), and also reliable (not best effort execution). It is worth noting that even prior to this launch, Limelight was already offering full Regular-Expression-based purging, providing total flexibility, but the requests could take a long time, were not atomic, and were best effort. Therefore, this announcement is a major leap forward for them, really leaving nothing to be desired when it comes to CDN cache management.
The point about flexibility isn’t just an academic one. A major challenge with CDN cache purging is determining the URLs or cache keys for all the content you need to purge. In many cases, URLs are obfuscated and player range requests result in hundreds of small objects in cache, making up a single video. Furthermore, multi-bitrate HTTP segmented streaming can result in thousands of HLS, HDS, DASH, or MSS chunks per bit-rate per asset. Building the complete list of URLs would be a daunting, near impossible, task. With SmartPurge, Limelight says they have solved this by allowing organizations to submit a single pattern that will match all the chunks related to a particular media asset or a single bit-rate of that chunked asset.
Because CDN cache management has generally either been fast or flexible, but not both, organizations have learned to set their CDN TTLs (the minimum frequency between checks for newer versions of content) lower than they would like, which causes performance to suffer, as refresh checks require going all the way back to their origin to either confirm the content in cache is still fresh or to fetch a newer version. With SmartPurge, organizations can set TTLs arbitrarily high, which is great for performance, and programmatically invalidate all content, or if using a content management system, invalidate just the updated content, and be assured the new content will be visible globally as quickly as if they were still using very low TTLs.
They are also providing advanced reporting that provides organizations with a clear report on what was purged and when, ensuring a validation check as part of the workflow process, which they say is the first “closed loop” guaranteed CDN cache management solution. This is especially important when content must be deleted from cache for policy or regulatory reasons, like DMCA takedown notices. From a product standpoint, Limelight’s been hard at work rolling out new features and functionality like SmartPurge, a new DDoS solution, self-service configuration management tools, and upgraded storage and analytics offerings.