AWS Series — Simple Storage Service : The most used storage in cloud

AWS Series — Simple Storage Service : The most used storage in cloud

S3 is one of the oldest service by Amazon Web Services.

What is S3?

  • Object Storage — S3 provides secure, durable, highly scalable object storage.
  • Scalable — S3 allows you to store and retrieve any amount of data from anywhere on the web at a very low cost.
  • Simple — Amazon S3 is easy to use, with a simple web service interface.
S3 is object based storage. It manages data as objects rather than in file systems or data blocks.
  • Upload any file type you can think of to S3.
  • Examples includes photos, videos, code, documents and text files.
  • Cannot be used to run an operating system or database.

Features of S3 —

  1. Unlimited Storage — The total volume of data and the number of objects you can store is unlimited.
  2. Objects up to 5 TB in size — S3 objects can range in size from a minimum of 0 bytes to a maximum of 5 terabytes.
  3. S3 buckets — Store files in buckets ( similar to folders)
  4. Universal Namespace — All AWS accounts share the S3 namespace. Each S3 bucket name is globally unique.
  5. Example S3 URLs — https://bucket-name.s3.region.amazonaws.com/key-name
  6. Uploading Files — When you upload a file to an S3 bucket, you will receive an HTTP 200 code if the upload was successful.

It is key-value store. Each S3 object has the following attributes associated to it.

  • Key — The name of the object
  • Version ID — for storing multiple versions of same object
  • Value — The data itself, which is made up of sequence of bytes
  • Metadata — Data about the data you are storing
S3 is a safe place to store your files. The data is spread across multiple devices and facilities to ensure availability and durability.

S3 is Highly Available and Highly Durable —

Availability — Built for 99.95% — 99.99% service availability, depending on the S3 tier

Durability — Designed for 99.999999999% ( 9 decimal places) durability of data stored in S3.

S3 Standard —

High Availability and Durability —

  • Data is stored in multiple devices in multiple facilities (≥ 3AZs)
  • 99.99% availability
  • 99.99999999999% durability(11 9's)

Designed for Frequent Access — Perfect for Frequent Access

Suitable for Most Workloads —

  • The default storage class.
  • Use cases include websites, content distribution, mobile and gaming applications, and big data analytics

Characteristics of S3

Tiered Storage — S3 offers a range of storage classed designed for different use cases.

Lifecycle Management — Define rules to automatically transition objects to a cheaper storage tier or delete objects that are no longer required after a set period of time.

Versioning — with versioning, all versions of an object are stored and can be retrieved, including deleted objects.

Securing your Data —

Server-side encryption — You can set default encryption on a bucket to encrypt all new objects when they are stored in the bucket.

Access Control Lists (ACLs) — Define which AWS accounts or groups are granted access and the type of access, You can attach S3 ACLs to individual objects within a bucket.

Bucket Policies — S3 bucket policies specify what actions are allowed or denied ( e.g., allow user A to PUT but not DELETE objects in the bucket)

Strong Read-After-Write Consistency —

  • After a successful write of a new object (PUT) or an overwrite of an existing object, any subsequent read request immediately receives the latest version of the object.
  • Strong consistency for list operations, so after a write, you can immediately perform a listing of the objects in a bucket with all changes reflected.

Points to Remember —

  • Object Based — Object-based storage allows you to upload files
  • Files up to 5TB — Files can be from 0 bytes to 5 TB
  • Not OS or DB Storage — Not suitable to install an operating system or run a database on
  • Unlimited Storage — the total volume of data and the number of objects you can store is unlimited.
  • Files are Stored in Buckets.
  • S3 is a universal namespace.
  • Successful CLI or API uploads will generate an HTTP 200 Status Code
  • URL format is https://bucket-name.s3.Region.amazonaws.com/key-name
  • Each S3 object has Key, Value, Version ID and Metadata