IntelligenceBank uses Amazon Cloudfront Content Delivery Network for distributing publicly shared content to users across the globe as part of its Public Sharing feature set.
What Is Amazon CloudFront?
Amazon CloudFront is a web service that speeds up distribution of your static and dynamic web content, such as .html, .css, .js, and image files, to your users. CloudFront delivers your content through a worldwide network of data centers called edge locations. When a user requests content that you're serving with CloudFront, the user is routed to the edge location that provides the lowest latency (time delay), so that content is delivered with the best possible performance.
If the content is already in the edge location with the lowest latency, CloudFront delivers it immediately.
If the content is not in that edge location, CloudFront retrieves it from an origin that you've defined—such as an Amazon S3 bucket, an AWS Elemental MediaPackage channel, or an HTTP server (for example, a web server) that you have identified as the source for the definitive version of your content.
This concept is best illustrated by an example. Suppose you're serving an image from a traditional web server, not from CloudFront. For example, you might serve an image, sunsetphoto.png, using the URL
Your users can easily navigate to this URL and see the image. But they probably don't know that their request was routed from one network to another—through the complex collection of interconnected networks that comprise the internet—until the image was found.
CloudFront speeds up the distribution of your content by routing each user request through the AWS backbone network to the edge location that can best serve your content. Typically, this is a CloudFront edge server that provides the fastest delivery to the viewer. Using the AWS network dramatically reduces the number of networks that your users' requests must pass through, which improves performance. Users get lower latency—the time it takes to load the first byte of the file—and higher data transfer rates.
You also get increased reliability and availability because copies of your files (also known as objects) are now held (or cached) in multiple edge locations around the world.
How and when are files removed or updated from Cloudfront?
File invalidation (or recall) happens when a public asset or any of its transformations, have previously been distributed via Cloudfront CDN and is deleted, moved to a different folder (as the public link is tied to the folder ID), updated with a new file or version, or when public sharing is disabled on the parent folder.
When an asset is loaded on Cloudfront, there is no direct "contact" with the platform to check if the asset is still available or has been updated since the initial load, so invalidating consists of clearing out these public versions, so that when requested next, Cloudfront will go to the platform to request the asset again, and at that time check if the asset is still available for public sharing and/or if a new version is available.