Andrea Danti - Fotolia
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.
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
Related Q&A from Stephen J. Bigelow
Regression tests and UAT ensure software quality and both require a sizeable investment. Learn when and how to perform each one, and some tips to get... Continue Reading
Learn the meaning of functional vs. nonfunctional requirements in software engineering, with helpful examples. Then, see how to write both and build ... Continue Reading
Just because software passes functional tests doesn't mean it works. Dig into stress, load, endurance and other performance tests, and their ... Continue Reading