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.