Web-scale content delivery

The highly scalable and highly available capabilities of S3 can be used to deliver content to millions or even billions of users from all around the world, without you having to worry about scaling your data delivery capacity and the bottlenecks common in traditional content delivery systems. Think of a traditional web server and the limitations it presents when we have a service that serves a lot of files. For example, let's say we are serving a marketplace where users upload images of items that they are selling to our system. Even with with a few thousand users selling a few items and each item having 5-10 images, this means the server will be storing tens of thousands of images in the backend. Any modern operating system can handle this scale.

Soon, our application becomes popular and suddenly our user base grows to all over the world, and we suddenly have hundreds of thousands or even millions of users. Our file base will now grow to tens or possibly hundreds of millions of files. Here is where the traditional operating system breaks down. We would require a very high performance backend to even enumerate the files in the file allocation table, let alone to be able to deliver this number of files with low latency to the end users. Also, this amount of files can mean that we will be storing tens or hundreds of TB of static data within a block device that is usually expensive to run.

Scaling this system and distributing it across multiple regions to reach its audience with the lowest latency would also mean having to replicate this huge amount of data across multiple servers, and that would be very inefficient.

We can simply redesign our application to allow end users to upload the images to an S3 bucket that can be used as a delivery mechanism, and our servers serving the website can be kept small, highly efficient, and easy to replicate across the world. We can even utilize the CloudFront environment (discussed in the next chapter) to cache frequently delivered S3 images and allow for lower latency and better performance for the end users.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.223.10