Amazon Storage Options

Amazon storage: navigating through the wealth of services

As new users quickly discover, Amazon storage comes in many flavors. We’re going to describe all currently available Amazon storage options to help you understand each specific service and for which scenarios they’ll work best. As this article is being written, there are five main storage options available to you from AWS:

  1. Amazon Simple Storage Service (Amazon S3).
  2. Amazon Glacier.
  3. AWS Storage Gateway.
  4. Amazon Elastic Block Store (Amazon EBS).
  5. AWS Import/Export.

(You can read this overview of the recently announced Amazon Elastic File System service.)

To get a jump start at AWS Storage option, Cloud Academy’s AWS Storage Option is your go-to-course.

Amazon storage: Simple Storage Service (S3)

S3 is probably the best known and most used Amazon storage option. You can use Amazon S3 to store and retrieve any amount of data at any time, from anywhere on the web. One very common use for Amazon S3 is for storing and distributing static web content and media. This content can be delivered directly from Amazon S3, either using your object’s unique HTTP URL address or by allowing S3 to serve as an origin store for a content delivery network (CDN), such as Amazon CloudFront.

Best used for

  • Static web content and media.
  • Hosting entire static websites.
  • Data store for computation and large-scale analytics, such as analyzing financial transactions, clickstream analytics, and media transcoding.
  • Secure solution for backup and archival of critical data.
  • Disaster recovery solutions for business continuity.

Not good for

  • Structured data with a query.
  • Rapidly changing data.
  • Long-term encrypted archival storage with infrequent read access.
  • Dynamic website hosting.

Performance

  • Access to Amazon S3 from within Amazon EC2 in the same region is fast.
  • Designed so that server-side latencies are insignificant relative to Internet latencies.
  • Built to scale storage, requests, and users to support a virtually unlimited number of web-scale applications.

Durability and Availability

  • Provides the highest level of data durability and availability on the AWS platform.
  • Error correction is built-in, and there are no single points of failure.
  • Designed for 99.999999999% durability per object and 99.99% availability over a one-year period.

Cost

  • Pay only for what you use. There is no minimum fee.
  • Three pricing components: storage (per GB per month), data transfer in or out (per GB per month), and requests (per n thousand requests per month).

Scalability and Elasticity

  • Designed to offer a very high level of scalability and elasticity automatically.
  • Supports a virtually unlimited number of files in any bucket.

Amazon storage: Glacier

Amazon Glacier is an extremely low-cost Amazon storage service that provides highly secure, durable, and flexible storage for data backup and archival.
Best used for

  • Off-site enterprise stores.
  • Media assets.
  • Research and scientific data.
  • Digital preservation.
  • Magnetic tape replacement.

Not good for

  • Rapidly changing data.
  • Real-time access.

Performance

  • Slow.
  • Jobs typically complete in 3 to 5 hours.

Durability and Availability

  • Designed to provide average annual durability of 99.999999999% (11 nines) for an archive.

Cost

  • As little as $0.01 per gigabyte per month.
  • Pay only for what you use. There is no minimum fee.
  • In normal use, Amazon Glacier has three pricing components: storage (per GB per month), data transfer out (per GB per month), and requests (per thousand UPLOAD and RETRIEVAL requests per month).
  • You can retrieve up to 5% of your average monthly storage (pro-rated daily) for free each month.

Scalability and Elasticity

  • Scales to meet your growing and often unpredictable storage requirements.
  • A single archive is limited to 4 TBs, but there is no limit to the total amount of data you can store in the service.
  • Whether you’re storing petabytes or gigabytes, Amazon Glacier automatically scales your storage up or down as needed.

Amazon storage: AWS Storage Gateway

Amazon Storage Gateway is a service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization’s on-premises IT environment and the Amazon storage infrastructure.

Best used for

  • Corporate file sharing.
  • Enabling existing on-premises backup applications to store primary backups on Amazon S3.
  • Disaster recovery.
  • Data mirroring to cloud-based compute resources.

Not good for

  • Database storage.
  • Amazon EC2 instances using Amazon EBS volumes are a natural choice for database storage and workloads.

Performance
As the AWS Storage Gateway VM sits between your application, Amazon S3, and underlying on-premises storage, the performance you experience will depend on a number of factors:

  • Speed and configuration of your underlying local disks.
  • Network bandwidth between your iSCSI initiator and gateway VM.
  • Amount of local storage allocated to the gateway VM.
  • Bandwidth between the gateway VM and Amazon S3.

Durability and Availability

  • Durably stores your on-premises application data by uploading it to Amazon S3.
  • S3 stores data in multiple facilities and on multiple devices within each facility.
  • Amazon S3 also performs regular, systematic data integrity checks and is built to be automatically self-healing.

Cost

  • Pay only for what you use.
  • Four pricing components: gateway usage (per gateway per month), snapshot storage usage (per GB per month), volume storage usage (per GB per month), and data transfer out (per GB per month).

Scalability and Elasticity

  • Stores data in Amazon S3, which has been designed to offer a very high level of scalability and elasticity automatically.
  • Supports a virtually unlimited number of files in any bucket.
  • Can store a virtually unlimited number of bytes.
  • Store any number of objects.

Amazon storage: Elastic Block Store (EBS)

Amazon Elastic Block Store (EBS) volumes provide durable block-level storage for use with Amazon EC2 instances (virtual machines).

Best used for

  • Data that changes relatively frequently and requires long-term persistence.
  • Well-suited for use as primary storage for a database or file system.
  • Applications that require access to raw block-level storage.
  • Amazon EBS Provisioned IOPS volumes are particularly well-suited for use with databases applications that require a high and consistent rate of random disk reads and writes.

Not good for

  • Temporary storage.
  • Highly-durable storage.
  • Static data or web content.

Performance
Amazon EBS provides two volume types: standard volumes and Provisioned IOPS volumes.

  • Standard volumes
    – cost-effective storage for applications with moderate or bursty I/O requirements.
    – designed to deliver approximately 100 input/output operations per second (IOPS) on average.
    – well suited for use as boot volumes.
  • Provisioned IOPS
    – designed to deliver predictable, high performance for I/O intensive workloads such as databases.
    – you specify an IOPS rate when creating a volume, and then Amazon EBS provisions that rate for the lifetime of the volume.
    – currently supports up to 2,000 IOPS per provisioned IOPS volume.
    – you can stripe multiple volumes together to deliver thousands of IOPS per Amazon EC2 instance to your application.

Durability and Availability

  • Designed to be highly available and reliable.
  • Data is replicated across multiple servers in a single Availability Zone to prevent the loss of data from the failure of any single component.
  • To maximize both durability and availability of their Amazon EBS data, you should create snapshots of your Amazon EBS volumes frequently.
  • Snapshots provide an easy-to-use disk clone or disk image mechanism for backup, sharing, and disaster recovery.

Cost

  • Pay only for what you use.
  • Three components: provisioned storage, I/O requests, and snapshot storage.
  • Standard volumes are charged per GB-month of provisioned storage and per million I/O requests.
  • Provisioned IOPS volumes are charged per GB-month of provisioned storage and per Provisioned IOPS-month.
  • Snapshots are charged per GB-month of data stored.
  • An Amazon storage snapshot copy is charged for the data transferred between regions.
  • It’s important to remember that for EBS volumes, you are charged for provisioned (allocated) storage, whether or not you actually use it.
  • For Amazon storage EBS snapshots, you are charged only for storage actually used (consumed).

Scalability and Elasticity

  • Can easily and rapidly be provisioned and released to scale in and out with your total storage demands.
  • If you need to expand the size of a single Amazon EBS volume, you can effectively resize a volume using a snapshot.

Amazon Storage: AWS Import/Export

AWS Import/Export accelerates moving large amounts of data into and out of AWS using portable storage devices for transport. Once they receive your media, the Amazon storage team transfers your data directly onto and off of storage devices using their high-speed internal network and bypassing the Internet.

Best used for

  • Transferring large amounts of data in and out of the AWS cloud especially in cases where transferring the data over the Internet would be too slow or too costly
  • Initial data upload to AWS.
  • Content distribution or regular data interchange to/from your customers or business associates.
  • Transfer to Amazon S3 or Amazon Glacier for off-site backup and archival storage.
  • Quick retrieval of large backups from Amazon S3 or Amazon Glacier for disaster recovery.

Not good for

  • Data that is more easily transferred over the Internet.
  • If your data can be transferred directly over the Internet in less than one week, AWS Import/Export may not be the ideal solution.

Performance

  • Capable of loading data at over 100 MB per second.
  • The rate of the data load will be limited by a combination of the read or write speed of your portable storage device.

Durability and Availability

  • Once the data is imported to an Amazon storage service, the durability and availability characteristics of the target service apply.

Cost

  • Pay only for what you use.
  • Three pricing components: a per-device fee, a data load time charge (per data-loading-hour), and possible return shipping charges (for expedited shipping, or shipping to destinations not local to that AWS Import/Export region).

Scalability and Elasticity

  •  limited only by the capacity of the devices that you send for Amazon storage.
  • For S3, individual files will be loaded as an S3 object, and may range up to 5 terabytes in size.
  • For Amazon Glacier, individual devices will be loaded as a single archive, and may range up to 4 terabytes in size.
  • The aggregate total amount of data that can be imported is virtually unlimited.

As you can see there are many options available to you when it comes to Amazon storage, and your choices will obviously depend on what you are using the storage for. The above summaries can be used as a quick reference to help you along.

If you aren’t already confused enough, there are other Amazon storage options available to you beyond the five most commonly used ones. Other possible Amazon storage services whose use is often more narrowly focused include:

  • Amazon EC2 Instance Storage – Temporary block storage volumes for Amazon EC2 virtual machines.
  • Amazon CloudFront – Global content delivery network (CDN).
  • Amazon RDS – Managed relational database server for MySQL, Oracle, and Microsoft SQL Server.
  • Amazon DynamoDB – Fast, predictable, highly-scalable NoSQL data store.
  • Amazon ElastiCache – In-memory caching service.
  • Amazon Redshift – Fast, powerful, fully-managed, petabyte-scale data warehouse service.
  • Databases on Amazon EC2 – Self-managed database on an Amazon EC2 instance.

Cloud Academy