Many of our customers also make use of our upload server, which takes HTTP POST file uploads from web browsers and pushes them through to Amazon S3. The upload server is completely independent of the application and gets all the information it needs to store the file on S3 from the POST made by the browser. (It also notifies the web site of the upload using a POST with all the information.) The upload server can do simple image transformation, so for customers uploading images it can generate multiple sizes of thumbnails “on the fly.” Well, because the upload server is separate from the web server it can sit on the side. The best is to use a bank of multiple upload servers that are shared across all the sites. This gives the best redundancy and resource usage. The upload servers can be load balanced using round-robin DNS or a set of software load balancers on the same set of instances.