10 caching best practices for global software downloads
By David Brown, Principal Product Manager
Whether it’s the latest security patch, a software update, or a new app, keeping customers engaged with regular and updated content has never been more important for customer satisfaction and your business’s success. In the dynamic and sometimes unpredictable world of supporting multiple business units with hundreds of software updates, you can use your content delivery network (CDN) to keep download chaos at bay.
Use this checklist of the most popular features customers use for their large software downloads to ensure you have configured your CDN to deliver the best digital download customer experience, while managing the cost to support the downloads.
1. Partial cache sharing
Nobody likes waiting in line. But if you must, it’s much better when the line is moving. If your software releases are met with strong demand, set your CDN to share content as it is being pulled into cache, rather than waiting for the entire file to be cached before users can access it.
2. Complete cache fill
CDNs populate your files into the CDN PoP based on a user request. If your first user doesn’t complete the download, you can set your CDN to continue loading the file into cache so it’s ready to deliver the file for the next user.
3. Range caching
Breaking up is hard to do, but it’s a good thing when it comes to your large files. By breaking large files into smaller pieces, your CDN can spread it across multiple servers for better response times and caching of enormous files. This also allows you to cache partial range requests more effectively. Even if your users don’t make partial range requests, let the CDN combine multiple smaller files back into one automatically before sending to the user.
4. Bandwidth throttling
High-speed connections are great for helping customers get their files faster. But when it isn’t in your interest to do so (for example, when a customer doesn’t need the entire file yet), you can use bandwidth throttling to optimize the file download speed so it stays ahead of what the user needs and you don’t pay for transmitting the parts of a file the user may not use.
Origin errors happen. And they will probably happen to your software download sooner or later. You can save face by preventing your users from being denied a download when an unexpected origin error occurs. Use stale-if-error to continue to deliver a stale asset if your CDN fails to revalidate an asset on your origin. Then you can buy some time to solve the problem and push out the correct files without your users knowing anything was wrong. Your CDN should only revalidate if a file is stale and the TTL has elapsed.
For those days when your origin is just not running at peak performance, the last thing you need is the CDN putting more pressure on it for the latest file. Stale-while-revalidate tells the CDN to serve the stale version of the file while the CDN revalidates the stale version with the origin. This happens if the max age of the file expires and is going back to origin for an update.
7. Cache fill wait times
During that critical point in your release window when many users are asking for the update at once, your CDN could overwhelm your origin by passing many requests at once (which also drives up your origin infrastructure costs as multiple users request the same file). Your CDN can solve this with the help of cache fill wait times, which is like a virtual waiting room for your many users who are requesting the same file. Requests for the same file are pooled and one request is made to origin. When that one request starts to receive the file from the origin, the content is shared with all the pooled users waiting.
8. Spawn sub request for miss
If the above happens, you run the risk that the first request by a client is on a slow (i.e., mobile) connection. This will slow delivery for all the other users that are pooled, waiting for the object from the origin. Rather than risk this situation, you can configure your CDN to make the request to your origin on behalf of your users, ensuring a solid and fast connection. Since our Edgecast CDN has high bandwidth and low latency, pooled clients waiting for the response are not piggybacking on a slow client.
9. Negative caching
Human errors happen. Blame it on fat fingers. But if you happen to send out the wrong URL for your next download file, CDNs typically do not cache any non-200 response from your origin. Using negative caching, you can prevent the 4XX or 5XX errors from wreaking havoc on your origin by allowing you to cache non-200 responses to protect the origin.
Get the job done, faster
Best practice number 10 is to make sure your CDN has the nine best practices we’ve talked about built in. They’re included in our easy-to-use Edgecast CDN portal with Rules Engine. This feature is an intuitive if/then drop down interface that enables your CDN admin to configure the Edgecast CDN to run any of the above rules, plus hundreds of other caching rules, and stage them for testing before rolling them into production. No proprietary coding skills or knowledge needed. No professional services people needed. Equip your teams to get the job of software downloads done right, faster.
Our Edgecast CDN makes it easy to manage cache configurations through Rules Engine with drop down menus, staging and testing. No specialized coding or professional services needed.
Our Edgecast CDN plays an essential role in delivering digital media and software products for the largest gaming, software, security and device manufacturers. We provide the scalability to deliver to millions of customers around the world, while compensating for network quality across varying geographies and tailoring the experience for the device or network your consumer is using. Our easy-to-use tools (with collaborative pre- and post-sales support engineers, if needed) will help you configure and manage your download infrastructure to deliver the best experience at the lowest cost.
Now that you know these top 10 software downloads best practices you’re well prepared to make sure your next software download goes quickly and easily. Ready to get started? Get in touch with us today.