Working with the suite of AWS services requires making a lot of choices. While having options is a good thing, you need to fully understand the services available to you in order to make decisions about your business infrastructure. Incorrect choices can result in a suboptimal environment which will affect the efficiency of your workloads and incur unnecessary costs.
Choices are commonly made around S3 storage classes or EC2 instance types. Making EBS volume choices is not as common, since most developers, by default, simply go for the standard, general purpose EBS volume types when provisioning an instance. Nevertheless, there are other options that can and should be considered. This blog post will look at the most recent volume offerings to help you by doing an EBS volume comparison to select the best one for your needs.
What Is EBS?
Amazon Elastic Block Store (EBS) is a high-performance block storage solution designed to be used with EC2 instances. It works by giving the user access to a multitude of small network-attached blocks, each of which is presented as a simple volume. This distributed way of providing storage allows for easy expansion of storage capacity when needed; EBS volumes can scale into petabytes of data. EBS also ensures high availability (HA) and durability by replicating all data within the Availability Zone (AZ).
EBS volumes are very easy to use, whether you need to add them to or remove them from the EC2 instance, modify their size, or change their type. With only a couple of clicks, you can create an EBS snapshot, effectively making a backup of your entire volume. This can later be used to recreate the data if necessary.
The block storage offered by EBS volumes can cover any workload, from the most demanding mission-critical applications requiring high throughput to large sequential jobs like data warehousing and log processing. If the provided performance is not enough, you can also combine multiple volumes on a single instance to achieve even better results. EBS provides a very secure data storage solution, since it was built with compliance in mind. Each volume allows for in transit, at rest, and backup encryption. EBS volumes are also very cost-effective.
When choosing your EBS volume types, you’ll find multiple options. The remainder of this post is devoted to examining them.
An Overview of EBS Volume Types
All EBS volumes fall into two categories: SSD-backed volumes and HDD-backed volumes. SDD-backed volumes are designed for transactional workloads where IOPS (input/output operations per second) is the most important consideration. HDD-backed volumes are meant for streaming workloads, where throughput is more important than IOPS. EBS volumes also come in various different types, each designed for a different use case and set of requirements.
General Purpose SSD (gp2) Volumes
General Purpose SSD (gp2) volumes are the most common volume type. They were designed to be a cost-effective storage option for a wide variety of workloads. Gp2 volumes cover system volumes, dev and test environments, and various low-latency apps. They come in sizes between 1Gib and 16Gib and provide very low latency, down to single-digit milliseconds. They have a decent IOPS (starting from 100 and going all the way to 16000 IOPS) and a maximum throughput of 250MiB/s. You can combine multiple EBS volume types in a RAID to achieve even higher performance on a single instance.
The overall performance of gp2 volumes is directly related to their size; users get 3 IOPS per each GiB. This defines baseline performance as well as how quickly you gain the I/O credits which can be used for burst performance when needed.
Gp2 volumes are fairly cheap, especially for the balanced performance they provide. They are priced at $0.1 per GB per month of provisioned storage.
Provisioned IOPS SSD (io1) Volumes
Provisioned IOPS SSD (io1) EBS volume types are a special type of volume created to fulfill the needs of very intensive I/O workloads that require very high throughput. They are useful for cases which are latency-sensitive, like large database workloads (e.g., MySQL, Cassandra, MongoDB, and Oracle) and critical business applications that need the kind of sustained performance gp2 volumes can’t achieve.
Io1 volumes can store between 4GiB and 16TiB, and their IOPS can be as low as 100 or high as 64000 IOPS per volume with up to 1,000 MiB/s of throughput. While the performance of gp2 volumes is dictated by volume size, the performance of provisioned IOPS SSD volumes can be set during creation time. It is limited by a maximum IOPS to volume size ratio of 50:1.
Of course, all of this comes with a price—$0.125 per GB per month of provisioned storage and $0.065 per provisioned IOPS per month. This can amount to a costly solution in some cases, so be careful when provisioning these volumes.
Throughput Optimized HDD (st1) Volumes
Throughput Optimized HDD (st1) volumes are a type of volume that offers low-cost storage while fulfilling the need for sequential workloads that require more throughput than IOPS. When working with data warehouses, log processing, ETL (extract, transform, load) or AWS EMR, this is a volume type to look into. Keep in mind that this volume type cannot be used as a boot volume.
St1, like gp2, relies on burstable performance, and volume size will be the main factor when calculating baseline performance. St1 volumes can range in size between 500GiB and 16TiB, and they allow for 500 MiB/s of throughput per volume with 500 IOPS.
St1 volumes also come with a lower price tag: $0.045 per GB per month of provisioned storage.
Cold HDD (sc1) Volumes
Cold HDD (sc1) volumes, like st1 volumes, provide low-cost storage for workloads that rely on throughput rather than IOPS. Sc1 volumes are primarily used for large amounts of data that is infrequently accessed, or in cases where the cost of storage is the most important factor. Sc1, just like st1, cannot be used as a boot volume and relies on burstable performance.Sc1 volumes come in sizes between 500GiB and 16TiB and provide up to 250 IOPS and 250MiB/s of throughput per volume.
Sc1 volumes are the cheapest option available, costing only $0.025 per GB per month of provisioned storage.
EBS Volume Types Table
The table below provides a quick comparison of the EBS pricing and volume types:
Volume Type |
General Purpose SSD (gp2) |
Provisioned IOPS SSD (io1) |
Throughput Optimized HDD (st1) |
Cold HDD (sc1) |
Uses |
General purpose SSD volume that balances performance and price; used for low-latency app, dev and test environments |
Highest-performance SSD volume, designed for mission-critical, low-latency, or high-throughput applications; used for large databases, and critical business applications |
Low-cost HDD volume designed for throughput-intensive workloads; used for log processing, data warehouses, and streaming workloads |
Lowest cost HDD volume designed for infrequently accessed data; used as a cheap storage solution |
Volume Size |
1GiB—16TiB |
4GiB—16TiB |
500GiB—16TiB |
500GiB—16TiB |
Max Throughput per Volume |
250MiB/s |
1000MiB/s |
500MiB/s |
250MiB/s |
Max IOPS per Volume |
16000 |
64000 |
500 |
250 |
Cost |
$0.1 per GB |
$0.125 per GB + $0.065 per IOPS |
$0.045 per GB |
$0.025 per GB |
Instance store volumes
Instance store volumes are a special block-level storage option that can be used on AWS. Unlike EBS volumes, which are network attached, these are physically attached to the host computer. They are meant to serve as temporary storage solutions only, used for caches, buffers, and other ephemeral data.
The lifetime of the instance store volume depends directly on the instance to which it is attached. If you reboot the instance, the data will persist; but, if you stop the instances, terminate them, or even change the instance type, your data will be lost.
Instance store volumes can actually provide very high performance, delivering high random I/O which can be good for low-latency workloads. They can even outperform EBS volumes in writes and uncached reads.
Instance store volumes come with no individual cost; instead, they are included as part of the instance’s usage cost. They also come with specific instance types, usually specialized ones with higher price tags. For example, the i3 family (starting at $0.156 per hour), a storage-optimized instance designed for I/O performance, uses instance store volumes for its workloads. High-performance, GPU-backed instances like g3 ($1.14 per hour) and memory-optimized instances meant for in-memory applications such as x1 (a very expensive instance with its lowest possible cost at $6.669 per hour) rely on instance store volumes. They all benefit from the great performance that these ephemeral, locally-attached volumes provide, and, because they were created with specific use cases in mind, they have very few drawbacks.
EBS Volumes: Doing your Research and Choosing the Best Volume
Over time, the block storage offerings available on AWS have grown substantially. Users can now choose from a variety of options based on performance or cost priorities. For standard workloads, gp2 volumes offer balanced performance while keeping costs down. For sequential workloads, st1 volumes can perform very well while reducing the cost even further. Infrequently accessed data can be stored on sc1 volumes—the cheapest option you can get. And, of course, io1 volumes are there for the workloads that require the highest possible performance.
This variety of options has the potential to greatly benefit your business environment, so doing your research and choosing the best volume for your environment is well worth your time.
Click here to read original post ->
Around the middle of 2012, there was only one standard version of AWS’ EBS cloud storage volumes, the EBS standard volume. This volume offered persistent data for EC2 instances and is now known as the Magnetic volume. Over the last year and a half, AWS has announced two more volume types in order to meet the growing demands of performance and lower costs.
The three types that are now available include Magnetic, Provisioned IOPS (SSD) and General Purpose (SSD) EBS volumes. All three have their merits and offer similar functionalities, such as snapshot capabilities, though they differ largely in cost and performance. In contrary to the past one standard volume, today AWS users need to select the right kind of volume based on requirements such as cost-effectiveness or performance. In this article, we will provide an overview of all three volume types and insights on their cost and performance.
Volume I: Magnetic EBS Volumes
While magnetic hard disks are seemingly of an older generation, they are still found in the majority of machines in the tech world today due to their cost-effectiveness. However, it seems like Magnentic volumes are on their way out seeing as they are not ideal for critical production applications. This theory is strengthened by two points. Firstly, whenever a user tries to launch a new instance with a magnetic root device, AWS prompts the user to switch to the new SSD model. Secondly, Magnetic volumes will not support the newer 16 terabyte EBS volumes, which suggests that AWS’ intention is to remove the Magnetic volume altogether.
The primary disadvantage of Magnetic EBS volumes is their performance in comparison to their price. They offer 100 IOPS that can burst to a few hundred IOPS, however, 100 IOPS is considerably lower than that of the IOPS offered by other options. Furthermore, while Magnetic EBS volumes are undeniably cheaper, at $0.05 per GB/month (in the US-East region, as of January 2015), than the other available volumes, the money saved may be an illusion. You pay an additional cost per I/O with Magnetic EBS volumes, as well as the cost of the service. This may reach a high cost per month, particularly if implemented in a busy production environment. A Magentic volume’s performance can be improved by striping multiple volumes together. It can be a good fit for low IOPS and disk size requirements, such as where data is accessed less frequently.
Volume II: General Purpose SSD EBS Volumes
Unlike their predecessor, at only a few months old, General Purpose (GP) EBS volumes are ideally suited for busy production environments, seeing as they offer the best cost-performance ratio. This volume type is the new default disk type, and with good reason. While the cost is double than that of Magnetic volumes, with GP you are not obligated to pay for I/Os beyond the initial price. Therefore, if you need frequent access to data, GP volumes are the right choice since they ultimately result in lower costs. The performance speed of 1TB GP EBS volumes can burst up to 3,000 IOPS per second. This, of course, is no match for the meager 100 average outlined in the Magnetic EBS statistics, so this volume type boasts far more than just cost efficiency. All in all, GP EBS volumes are rapidly establishing themselves as the leading EBS type available in the AWS cloud. This volume offers 3 steady IOPS per GB of storage and works on I/O credits. Larger volumes may accumulate a higher credit, which can help burst beyond the 3 IOPS per GB standard.
Volume III: Provisioned IOPS Volumes
The third and final volume type is the PIOPS EBS model. Another “youngster” in the EBS world, PIOPS is even faster than GP volumes, reaching up to 4,000 IOPS per second for a 1TB volume. While on the surface this sounds ideal, the improved performance comes at a high cost. At $1.25/GB/month and an additional $.065/provisioned IOPS (in the US-East region, as of January 2015), it is considerably more expensive than both of the other models. While the higher speed is a very nice perk, it does not always warrant the additional cost, and AWS users must carefully consider the need for high performance over reduced cost efficiency. It is also important to note that PIOPS offers almost 90% of the provisioned IOPS during the life of an EBS volume, whereas GP offers 3 steady IOPS per GB and burstable performance based on I/O credit. Thus, PIOPS can be useful when users need very high and consistent I/O.
Comparing Volumes
Using the Magnetic model is only recommended in a relatively static production environment. GP volumes surpass both the cost efficiency and performance of their predecessor, particularly in cases of frequent data access. As the leading EBS volume available today, GP is only outshined by the PIOPS in terms of performance speed. This performance, however, is only necessary in cases where heavy I/O loads prove to be too much for the 3,000 IOPS in the GP model, a situation that does not present itself very often. In this case, however, it is important to identify your real I/O requirement. A possible tool to help find an application’s I/O is IOStat, a tool available with Linux that summarizes your I/O usage. On the other end of the spectrum, Perfmon, which is an integral part of Windows, creates a log on the physical disk, documenting the number of I/Os per second. Knowing these facts is important when selecting the EBS volume type that best suits your needs. Learn more in our AWS EBS pricing post
For Example: Let’s assume that an application needs 1,000 IOPS with 500GB of minimum storage. If we compare the cost of all three volumes types:
- Magentic: By only offering 100 IOPS, users would have to stripe 10 50GB volumes together. This may not be an ideal situation for snapshots and HA, but the cost comes out to: Storage Cost: 500 * 0.05 = $25/month I/O Cost : 100 IOPS/volume = $13/volume * 10 volumes = $130 Total Cost: $155/month with 1,000 IOPS * This calculation assumes that the Magnetic volume was utilized to its fullest extent (100 IOPS at all times). In practice, this level of throughput may only be required in bursts, so the total number of I/O operations would most likely be lower, resulting in a lower cost, as well.
- Provisioned IOPS: By provisioning 1,000 dedicated IOPS almost 90% of the time, the cost comes out to: Storage Cost: 500 * 0.125 = $62.5 IOPS Cost : $65 Total Cost: $127.5/month with 1,000 IOPS
- General Purpose Volume: This volume offers 3 IOPS/GB, which translates into 1,500 IOPS and a cost of: Storage Cost: 500*0.10 = $50 Total Cost: $50/month with 1,500 IOPS
The numbers show that when you need larger storage and more IOPS, general purpose (GP) would be the best possible option in terms of the cost-performance ratio. Once again, it is very important to note that all three volume types support durable snapshot capabilities. This considerably eases the pressure of choosing an appropriate EBS type, since snapshots can be used with all of them. N2WS Backup & Recovery protects all three types of EBS volumes, making it possible for you to maintain your snapshots at all times. So regardless of which EBS volume type you choose, it is important to relax and remember that no decision is irreversible. Try N2WS Backup & Recovery (CPM) for FREE!