OR removed from page I removed the following section due to its entirely being original research and speculation Per User SteveLoughran s request here it is The implementation details of S3 are not documented but it is possible to infer aspects of it from the behaviour and pricing of the service There is an S3 repository in the US there is another in Europe Their locations are not public From an EC2 server read access can initially be slow This could imply that S3 data is not always in the same physical location as all the EC2 servers Amazon do not bill for data transferred between the US EC2 server farm and the US S3 store but they do for access between the servers and the European S3 store While the S3 store and the EC2 servers may be in separate locations they must be close enough together that cost of transferring data is neglible Both services are presumably hosted on the same Metropolitan Area Ethernet Connectivity between the S3 datastores and the rest of the Internet is good This implies they are close to one of the main Internet exchanges After the initial slow access later accesses are fast This could imply that the data is cached Write access is tangibly slower than writing to a local hard disk Amazon guarantee that when the operation has completed data has been written to disk in multiple locations Amazon warn that even after data has been written old values may still be read This implies that there can be more than one cache of the data and that every GET request does not trigger a check from the front end caches to the back end store Amazon adjusted their initial pricing from a simple flat rate per GB to one that charges small frequently retrieved items per thousand GET or HEAD operations rather than purely per byte There may be a flat cost for every entry indexing billing entries and a per request cost in CPU time for every access These fixed overheads are now billed for The dynamic per bucket DNS entries are implemented by having a custom S3 DNS server that returns a hostname for every host under the s3 amazonaws com subdomain even if a bucket of that name has never been created nslookup made up name for wikipedia s3 amazonaws com Non authoritative answer made up name for wikipedia s3 amazonaws com canonical name s3 directional w amazonaws com s3 directional w amazonaws com canonical name s3 1 w amazonaws com Name s3 1 w amazonaws com Address 72 21 211 228 At the identified host there is a web server that always serves up 404 error pages when a GET request against a nonexistent bucket is issued telnet made up name for wikipedia s3 amazonaws com 80 Trying 72 21 207 212 Connected to s3 1 w amazonaws com Escape character is GET HTTP 1 0 host made up name for wikipedia s3 amazonaws com HTTP 1 1 404 Not Found x amz request i d F0F7301EF1873635 x amz i d 2 9gT YmUa7EZXIm9FNv7GGThAre8Kn5CEfXpoJpthwuq54Pm 5RRcThAdBa20XsLj Content Type application xml Date We d 27 Feb 2008 18 54 42 GMT Connection close Server AmazonS3 NoSuchBucket The specified bucket does not exist F0F7301EF1873635 made up name for wikipedia 9gT YmUa7EZXIm9FNv7GGThAre8Kn5CEfXpoJpthwuq54Pm 5RRcThAdBa20XsLj Connection closed by foreign host Notice how the XML error text is intended for machine interpretation rather than end users The RequestId element can be used in support requests as Amazon log every request at least for a few days