Andrea Danti - Fotolia

Get started Bring yourself up to speed with our introductory content.

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

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

Which AWS storage options does your enterprise use and why?
One challenge with AWS EBS is that you pay for what you provision and not what you use. For e.g. you might provision a GP2 EBS volume of 1TB and may use only 100GB, but you are still paying for 1TB. Similarly you might have provisioned a 5000 IOPS provisioned IOPS volume and may be using only 1000 IOPS, but still paying for 5000 IOPS.  While consider EBS volumes, you may want to consider 3rd party solutions that manage the EBS volumes transparently and automatically so that you only pay for what you actually use.
It looks like both types offer only moderate throughput. What if you want more than that? How do you compare them if they both offer the same throughput?