Andrea Danti - Fotolia

Which Amazon storage services balance performance and cost?

Amazon Elastic Block Store volumes are offered as magnetic hard disk and solid-state drives. How should we use each storage type to ensure proper workload performance?

To maintain high performance for cloud applications, cloud administrators must constantly balance storage performance, capacity and cost. AWS offers both magnetic hard disk drive and solid-state disk storage alternatives for core services, such as Elastic Compute Cloud and Amazon Relational Database Service. Both Amazon storage services exhibit different performance characteristics.

One of Amazon's storage services, its Throughput Optimized HDD Elastic Block Store (EBS) volume, provides low-cost, high-capacity instances for workloads that favor light or burst I/O requirements and moderate throughput. For example, archival and backup applications and relatively light streaming media workloads work well on magnetic storage instances. Because of native latency, magnetic storage instances aren't recommended for transactional workloads like databases. And its multi-tenancy can have an effect on performance.

Solid-state storage, like Amazon's General Purpose SSD EBS instances, can provide low-latency and modest throughput. These GP2 EBS volumes target transactional and interactive workloads that must access data quickly but don't need to move a lot of data. SSD storage is considered a baseline instance type for many workloads.

It takes multiple metrics to describe storage performance, and understanding those metrics helps cloud developers and architects ensure that apps run at full speed. AWS reports four key performance metrics for Amazon storage services: IOPS, throughput, latency and queue depth.

IOPS is the number of input/output operations per second. IOPS metrics could include total IOPS or average IOPS over a specific period of time. Total IOPS = read IOPS + write IOPS.

Throughput is the rate at which data is passed to or from a storage device. Throughput reports how quickly data flows between the storage and the workload, usually denoted as megabytes per second and recorded as an average over a time interval.

Latency is closely related to IOPS. Latency indicates the amount of time elapsed between when an I/O request is received and completed.

Queue depth is the number of I/O requests the storage device will process while it is busy working on other I/O tasks. Queue depth is normally reported as an average over a time interval and can range from zero to several hundred.

SSD performance can be provisioned according to user demands. For example, AWS' Provisioned IOPS SSD EBS volumes allow users to allocate the desired storage and select the dedicated IOPS performance level. AWS maintains that ratio over time, albeit at a higher cost. This type of storage instance is typically reserved for only the most I/O- or latency-sensitive cloud workloads, such as large databases.

Next Steps

Pick one of the Amazon storage services, such as EBS volumes

Faster AWS storage on customer wish lists

Pinpoint AWS network issues

Dig Deeper on AWS database management