AWS Storage


Simple Storage Service (S3)


  • S3 is an Object Store
  • Secure, durable, and highly-scalable cloud storage
  • Optimized for reads and intentionally light weight
  • Accessible from anywhere on the web
  • One of the AWS Foundational Services


  • Storage Classes
  • Lifecycle Policies
  • Rich set of Access Controls
  • Replication is Automatic:
  • Scalability - Automatically partitions buckets




  • S3 optimized for long-term backup and archival.
  • 3-5 hour retrieval time
  • Dual Product Offering
    1. An S3 Storage Class
    2. Archival Storage Service

Amazon S3


Types of Storage

  • Block - Storage Device Level
    1. Organizes data into numbered, fixed size blocks
  • File - Server and Operating System Level
    1. Organizes data into named hierarchy of folders and files
  • Object
    1. Independent of Servers, Operating Systems
    2. Accessed over a network
    3. The native interface for S3 is a ReST API.

S3 Basics

  • S3 Object Characteristics
  • Each S3 object contains BOTH data and metadata
  • Each S3 object is uniquely identifed by:
  • Max Size =  5 terabytes
  • Operations (GET, PUT) are on whole objects
  • Data
    1. S3 treats all objects as a stream of bytes.
    2. S3 is completely format agnostic
  • Metadata
    1. A set of name/value pairs
    2. System metadata with object characteristics.
    3. Optional User metadata

Bucket Characteristics

  • A bucket is a container (web folder) for objects (files) stored in S3.
  • Each account may define 100 buckets
  • Buckets are created and stored within specific AWS regions
  • Buckets are the top-level, global namespace in S3
    1. Must be globally unique across all AWS
    2. Naming Conventions
  • Can hold an unlimited number of objects
  • A simple flat folder with no hierarchy
    Note:  Console Folder Hierarchy

Accessing S3 Objects

  • Operations
    1. Intentionally simple
    2. Based on a ReST implementation of CRUD operations
      1. Bucket Operations
        1. Create, Delete, List
      2. Object Operations
        1. Write, Read, Delete, 
        2. Note: the absence of an Update. Why?

Accessing S3 Objects

  • Direct Interface
    1. Representationale State Transfer (ReST)
    2. Create, Read, Update, Delete (CRUD) operations mapped to HTTP methods
      Ref: POST Object
      1. Create -> HTTP PUT (or POST to accomadate use of HTML forms)
      2. Read -> HTTP GET
      3. Update -> HTTP POST ( or PUT)
      4. Delete -> HTTP DELETE

Accessing S3 Objects

  • High Level Interface
    1. AWS Software Developement Kit (SDK)
    2. Wrapper Libraries
    3. AWS Command Line Interface (CLI)
    4. AWS Management Console

Accessing S3 Objects

  1. Durability
    1. Will my data still be there ?

    2. S3 is 99.999999999% durable

  2. Availability
    1. Can I access my data ?
    2. S3 is 99.99% available
  3. Reduced Redundancy Storage (RRS)
    1. Reduced Cost Alternative
    2. RRS is 99.99% durable
  4. Best Practice
    1. Protect against user mistakes
      1. Versioning
      2. Cross-Region Replication
      3. MFA Delete