IT
Web Multimedia
Amazon’s CloudFront Content Delivery Network is primetime!
|
|
Amazon’s CloudFront Content Delivery Network (CDN) supplements Amazon’s S3 service by seamlessly caching your content much closer to your website visitors, thus substantially improving speed and latency, while at the same time giving you the additional option of streaming your content (videos, etc) using the RTMP (Flash Media Server) protocol. Sound complicated? It’s really not, read on.
You may not realize it, but when you use Amazon’s S3 you first have to create what Amazon calls a “bucket”, which is a basically just the top folder/directory that you will be storing everything under. When you create this “bucket” Amazon asks you where you want this bucket to physically reside. At the time of writing this article, the options were:
Let’s say you upload a number of MP4 videos to a bucket in Ireland. Your videos are physically in Ireland, so your website visitors from say Australia have to download your videos literally from the other side of the world. Yes they can still download them, but the speed isn’t going to be as fast as say downloading those same videos from Singapore, yet if you have website visitors from all over the world or even just 2 continents, your choice of bucket location could become a dilemma. CloudFront completely elevates all this! CloudFront is an additional service that is an add-on to S3.
CloudFront works by SEAMLESSLY caching the content you have stored in buckets on S3 at “edge” locations so that basically there are copies of your S3 content in physical locations closer to your website visitors. So let’s say you’re using CloudFront for all of your MP4 videos. When someone in Australia tries to view one of your videos, CloudFront will look to see if that video is in the closest “edge” location, in this case Singapore. If it is, the video is downloaded from there. If it’s not, the video is downloaded from either a closer edge location (for example Hong Kong) or from the original S3 bucket location instead (in this example, Ireland). Once CloudFront has received a certain amount of requests for that same video from the same country or region, CloudFront will cache the video at the closest edge location (Singapore in this example). Thus all subsequent requests for that video from that same country or region will be tremendously faster.
Once you’ve setup CloudFront you don’t need to be concerned about edge locations, CloudFront handles it all, you don’t need to specify which edge locations to use, CloudFront determines that all dynamically based on where the requests are coming from and how many.
Amazon’s S3 has one delivery method, HTTP. CloudFront can of course delivery any content/files via HTTP. However, for stream-able content (MP4 and FLV) you ALSO have the option of streaming that content via RTMP, which is the Flash Media Server format.
Why would I want to stream my content via RTMP?
Well, two reasons immediately come to mind. First, your content, let’s say it’s a video, is extremely big/long, and while it can always been delivered via HTTP (progressive download), if your website visitor wants to skip ahead, he/she really can’t do that until the content has been downloaded to the point he/she wants to skip to. In the case of a video 1 hour long, that might be extremely inconvenient. With RTMP the website visitor can just skip as far ahead as he/she wishes, as RTMP delivers your content on-demand. The other reason is less obvious. Whether you realize it or not, when your content is downloaded via HTTP (progressive download), it’s susceptible to being copied. Just go on to YouTube and looked up how to copy a YouTube video using Firefox, it’s very easy. You may not want your content copied, and RTMP HELPS with that, I wouldn’t say 100% elevates it, as I’m sure there’s a way to still copy that, but it certainly makes it very difficult for the vast majority of people to copy.
Please leave me a comment if you found this article useful or if you have any questions.
| Next > |
|---|