What's the difference between Amazon S3 and Amazon CloudFront?

Storing large files in the cloud has its advantages, and Amazon S3 and Amazon CloudFront are two seemingly identical options. What's the difference?

Amazon S3 and Amazon CloudFront may seem like two identical cloud-based storage products; however, they are actually complementary. CloudFront may have some advantages over S3 if you're willing to pay a little extra.

Amazon Simple Storage Service (S3) is an online data storage product; admins can upload files to S3 and receive a unique URL for each file. While easy to use and inexpensive, it's not always the fastest for retrieving stored files.

If you're building high-performance websites and want static content such as images, JavaScript files and CSS files to download quickly to a client's browser, you might be disappointed with the slight delay experienced in Amazon S3. If you need faster download speeds, then you might be ready to push those same files over to Amazon CloudFront.

Amazon CloudFront works with S3 but copies files from S3 to the outer "edge" of Amazon's servers, allowing for fast retrieval. My tests show that it retrieves files in about half the time of S3. There's a slight increase in price from Amazon S3, but not much.

CloudFront gives you a unique URL for stored files that not only points to a single copy of your file, but also stores the file redundantly in multiple geographic locations. Amazon's systems point the URL to the closest location based on each client's browser, which can accelerate the downloading experience. CloudFront also includes additional features for fast streaming of audio and video, which makes it an excellent choice for online multimedia companies.

About the author:
Jeff Cogswell is a software engineer with more than 20 years of experience in different technologies and platforms ranging from Unix and Linux, Windows, ASP.NET/C# Web development, PHP development and various database technologies. He has authored several books, including C++ All-in-One for Dummies, and runs trainings for Web developers and programmers. Visit his website at www.cogsmedia.com. 

Dig Deeper on AWS infrastructure

App Architecture
Cloud Computing
Software Quality