Architectures to provide high availability, reliability, and scalability
We have come a long way in making our systems more reliable, scalable, and available. It wasn't that long ago that we didn't think of saving precious photographs and documents on our PC hard drives, assuming they would be able to store this data indefinitely. Even though PC components have decent reliability, they will eventually fail. It's the nature of hardware with moving parts such as disk drives.
Since then, significant advances have been made to increase the reliability of individual components; however, the real increase in reliability comes from redundantly storing information on multiple devices and in different locations. Doing so increases reliability exponentially.
For example, the S3 Standard service stores file redundantly with at least 6 copies and in at least 3 data centers. If a copy is corrupted, the S3 storage system automatically detects the failure and replicates the file using...