AWS Storage Options – S3 & Glacier
High-quality, reliable and low-latency data storage infrastructure that is highly scalable and cost-effective.
Provides a simple interface for web services that allows you to store and retrieve any amount data from Amazon EC2 or anywhere else on the internet.
Allows you to read, write, and delete objects that contain between 1 byte and 5 terabytes each.
The number of objects that you can store in an Amazon S3 bucket are virtually limitless
Highly secure, with encryption at rest and multiple mechanisms for fine-grained access control to Amazon S3 resources.
Highly scalable, allows concurrent read and write access to Amazon S3 data from multiple clients or application threads.
Ideal Use Cases
Works well for websites with data-intensive, user-generated content such as video and photo sharing sites. No storage provisioning is required
Amazon S3 can serve content directly since each object in Amazon S3 is assigned a unique URL address
Can also act as an Origin Store for the Content Delivery Network (CDN), such as Amazon CloudFront
It is especially well-suited for hosting web content that has high bandwidth requirements due to S3’s elasticity.
Data Store for Large Objectscan also be paired with RDS/NoSQL databases and used for large objects, e.g. Files can be paired with RDS or NoSQL databases to store large objects. The metadata associated with them, for example. name, tags, comments etc. can be stored in RDS/NoSQL databases where it can be indexed, queried and retrieved faster providing access to relevant data
Data store for computations and large-scale analysis. Commonly used for computations and large scale analytics such as analyzing financial transactions and media transcoding.
Data can be accessed simultaneously from multiple computing nodes without being constrained by one connection due to its horizontal scalability.
Backup and Archival Critical Data Used as a durable, scalable and secure solution to backup and archive critical data and to provide disaster recovery solutions that ensure business continuity.
It stores objects redundantly on multiple devices at multiple locations, and provides the durable storage infrastructure required for these situations.
it’s versioning capability is available to protect critical data from inadvertent deletionAnti-Patterns
Amazon S3 has followed Anti-Patterns in areas where it is not the optimal solution
Dynamic website hostingWhile Amazon S3 can be used to host static websites, dynamic websites that require server side interaction, scripting, or database interaction should be hosted on Amazon EC2.
Backup and Archival StorageData that requires long-term archival storage with infrequent access can be stored in Amazon Glacier at a lower cost.
Structured Data QueryAmazon S3 does not offer query capabilities. To read an object, the object name and key must first be known. To store, index, and query metadata about Amazon S3 objects, pair S3 with Dynamo DB or RDS.
NOTE – S3 now has query capabilities and Athena can also be used
Rapidly changing dataData that is constantly being updated might be better served by a storage system with lower read/write latency, such as Amazon EBS volumes or Dynamo DB.
File SystemAmazon 3 uses a flat namespace. It is not meant to be used as a standalone, POSIX compliant file system. You can however, use delimiters (commonly the ‘/’ or ‘/ character) to create keys that emulate th