Welcome to AWS Crash Course.
What is S3?
S3 is Simple Storage Service. It’s an object storage. That means, it’s used for storing objects like photos, videos etc.
- S3 provides 11 9’s durability 99.999999999%. Means Losing 1 out of 100 Billion objects.
- S3 provides 99.99% availability.
- Files can be 1 byte to 5 TB in size
- Read after Write consistency for PUTS of new objects – means you can immediately read what you have written.
- Eventual consistency for overwrite PUTS and DELETES – if you overwrite or delete an existing object it takes time to propagate in S3 globally.
- Secure your data using ACL and bucket policies.
- S3 is designed to sustain the loss of 2 facilities concurrently i.e. 2 Availability Zone failures.
S3 has multiple classes. One is S3 Standard which we discussed above. Others classes are:-
S3-IA (Infrequently Accessed)
- S3-IA is for data which is not frequently accessed but still needed an immediate access.
- You get same durability and availability as S3 but at reduced price.
- Can manage upto 2 Concurrent facility fault tolerance.
S3-RRS (S3- Reduced Redundancy Storage)
- 99.99% durability and availability.
- Use RRS if you are storing non-critical data that can be easily reproduced. Like thumbnails of images.
- No Concurrent facility fault tolerance
- Data is stored in Amazon Glacier in “archives.“
- Archive can be any data such as a photo, video, or document.
- A single archive can be as large as 40 terabytes.
- You can store an unlimited number of archives in Glacier
- Amazon Glacier uses “vaults” as containers to store archives.
- Under a single AWS account, you can have up to 1000 vaults.
Here is quick comparison of different S3 classes as per Amazon.
S3 Supports versioning.
What does that mean?
It means that if you change a file it can keep versions of both old and new files.
- If you enable versioning in S3 it will keep all the versions even if you delete or update the old version.
- Great backup tool
- Once enabled versioning cannot be disabled ,only suspended
- Integrates with lifecycle rules
- Versioning’s MFA delete capability which uses multi factor authentication, can be used to provide additional layer of security.
- Cross region replication , requires versioning enabled on the source bucket
S3 Supports Lifecycle Management
What does that mean?
It means you can move objects from one storage class to another storage class after few days as per your schedule. This is used to reduce cost by moving less critical data to cheaper storage class.
- Lifecycle configuration enables you to specify the lifecycle management of objects in a bucket
- Can be used with versioning
- Can be applied to current versions and previous versions
- Transition from standard to infrequent access storage class can be done only after the data is in standard class storage for 30 days.
- You can directly put data from standard to glacier
- Lifecycle policy will not transition objects that are less than 128KB
This series is created to give you a quick snapshot of AWS technologies. You can check about other AWS services in this series over here .