CDP:Web Storage Pattern
Use of High-Availability Internet Storage
Problem to Be Solved
Delivery of large files, such as video files, high-definition image files, and zip files, from a single web server can become a problem in terms of network load. In such a case, you can distribute the load through multiple web servers to reduce the load on the network– but this involves locating the large files on multiple servers, which is a problem in terms of cost.
Explanation of the Cloud Solution/Pattern
You can solve the problems with the network loads and disk capacities of the web servers by locating the large files in Internet storage and delivering the files directly from there. Objects that are stored in Internet storage can be accessed directly by users if set to being public. This enables delivery from Internet storage, thereby reducing the network load of the web server, and also eliminates the need to copy data between virtual servers in synchronizing the delivery files.
Place the content to be delivered onto the Amazon Simple Storage Service (S3), and enable user downloading directly from the S3.
- Create a "bucket" on the S3 Internet storage, and upload the static content (image/video/compressed files, or the like) to be published.
- Set this content to be public, enabling user access. When set to be public, a URL will be issued for each individual content object. Provide, to the user, a URL that has been issued, such as http://(bucketname).s3.amazonaws.com/(filename)*, or create a link on a webpage.
- The use of S3 eliminates the need to worry about network loads and data capacity.
- S3 performs backups in at least three different datacenters, and thus has extremely high durability.
- Because a URL is issued for each content object, the files can be used for a broad range of purposes, such as file sharing, merely through placement on S3.
Because the content that is delivered requires independent Domain Name System (DNS) naming in S3, the DNS name of the main site cannot be used as-is. For example, if the main site is "www.my-site.org," then the content on S3 requires a different DNS name, such as "data.my-site.org," or the like. Because of this, you may need to change link destinations in the HTML files that have already been constructed. However, in this case you may be able to use the URL_Rewriting Pattern to handle this through performing batch overwriting of the modules of the web server.