AWS S3 Summary
Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. Developers and IT teams use this service to securely store data as objects in buckets.
Why is S3 preferred?
S3 offers 99.99% data durability. It automatically creates and stores copies of every uploaded object across many systems.
Key Concepts
- Regions: These are geographic regions chosen to optimise latency, minimise costs, or address regulatory requirements.
- Data Consistency Model: S3 replicates data to multiple servers to achieve high availability. There are two types of data consistency model:
- Read-after-write consistency for PUTS of new objects.
- Eventual consistency for overwrite PUTS and DELETES.
- Key: This is a unique identifier for an object. Every object in a bucket is associated with one key.
- Buckets: These are containers for storing objects.
- Objects: These are the entities that are stored in an S3 bucket. An object consists of object data and metadata, which is a set of name-value pairs that describes the data.
Core Features
- Durability and Availability: S3 boasts high durability and stores data redundantly across multiple facilities within a region.
- Scalability: S3 scales elastically to handle growing amounts of data and can support virtually unlimited data storage.
- Data Lifecycle Management: S3 allows you to define lifecycle policies to automatically migrate objects to lower-cost storage classes or delete them as they age.
- Access Management and Security: It offers several security features such as bucket policies, Access Control Lists (ACLs), and integration with AWS Identity and Access Management (IAM) for fine-grained access control.
- Encryption: Data uploaded to S3 can be encrypted at rest using server-side encryption (SSE) with Amazon S3-managed keys, AWS Key Management Service (KMS) keys, or customer-provided keys. S3 is object-based storage, which means you can store various file types, such as images, word files, and PDFs. Files can range in size from 0 bytes to 5 TB and are stored in buckets, which are like folders. S3 is a universal namespace, which means bucket names must be unique globally.
Use Cases
- Data Lakes: A data lake is a centralized repository that stores structured and unstructured data in its native format, allowing for flexible and powerful data analysis and processing.
- Backup and Restore: S3 is widely used for backing up application data and enabling disaster recovery.
- Static Website Hosting: S3 can host static websites and deliver content with low latency and high transfer speeds using AWS CloudFront.
Advantages
- Cost-effective as it follows a pay-as-you-go model and only charges for the storage used.
- Secure and durable as it provides encryption and versioning features.
- Scalable to meet the storage needs of businesses of all sizes.
An Example of How Different AWS Services Interact
An Amazon Machine Image (AMI), which is a template that contains the software configuration needed to launch an instance on EC2, is loaded to Amazon S3.