Amazon S3

Introduction

Infinitely Scaling Storage

Amazon S3 - Components

Amazon S3 allows people to store objects (files) in buckets (directories).

Buckets

S3 looks like a global service but buckets are created in a region

  • Buckets must have a globally unique name (across all regions all accounts)
  • Buckets are defined at the region level
  • Name Convention
    • No uppercase, No underscore
    • 3-63 characters long
    • Not an IP
    • Must start with lowercase letter or number
    • Must NOT start with the prefix xn--
    • Must NOT end with the suffix -s3alias

Objects

Objects (files) have a Key. Key with very long names that contain slashes (“/“).
There is no concept of “directories” within buckets

  • The key is the FULL path:
    • s3://my-bucket/my_folder/another_folder/my_file.txt
  • The key is composed of prefix + object name
    • s3://my-bucket/my_folder/another_folder/my_file.txt
  • Object values are the content of the body:
    • Max. Object Size is 5 TB (5000 GB)
    • If uploading more than 5 GB, must use “multi-part upload”.
  • Metadata
    • List of text key/value pairs
    • System or user metadata
  • Tags
    • Unicode key/value pair
    • Up to 10
    • Useful for security/lifecycle
  • Version ID
    • If versioning is enabled

Use Cases

  • Backup & Storage
  • Disaster Recovery
  • Archive
  • Hybrid Cloud Storage
  • Application/Media Hosting
  • Data Lakes & Big Data Analytics
  • Software Delivery
  • Static Website

Business Use Cases

  • Nasdaq stores 7 years of data into Glacier
  • Sysco runs analytics on its data and gain business insights

Limitations