As we know Elastic Block Store (EBS) is the block level storage that increases the durability and persistence of data for EC2 instances. It earlier provided storage size from 1GB up to 1TB.
Last week, Amazon announced increased size and IOPS for EBS. Larger and faster volumes of up to 16TB are available now in all commercial AWS regions and in AWS GovCloud (US). Also, SSD EBS volumes now get 99.999% availability. Before this release, EBS just mentioned 10x durability compared to normal harddrive, but nothing on availability.
Before this release, applications that required storage capacity of more than 1TB used multiple EBS volumes attached to an instance, and various striping techniques like software RAID 0 and RAID 5 to combine those volumes into a single logical drive. In Linux, LVM was used to combine multiple EBS volumes into one logical volume.
There were multiple issues with EBS volume striping:
- Disk performance can be increased by striping EBS volumes together using RAID 0. This increases IO throughput if there is a need for higher IOPS and not the disk size. But this may not be the better alternative, as if any of the underlying EBS volume fails, it will fail the entire RAID array.
- Taking snapshots of EBS volumes is now more complicated as it will be difficult to freeze IO on all volumes and take snapshot at the same time. Also restoring EBS volume from snapshots will be complicated.
- AWS doesn’t recommend RAID 5 as parity byte operations reduce IOPS.
The newly improved EBS volumes can overcome these issues. EBS volumes are available in three different flavours and following are the updates for each:
- General Purpose SSD – These volumes can now store up to 16TB. These EBS volumes are the default storage type and are ideal for running small to medium IOPS workloads. They come with a consistent baseline performance of 3 IOPS/GB to a maximum of 10,000 IOPS. The maximum storage size for General Purpose SSD was 1TB with maximum of 3000 IOPS, this means that volumes are now up to 16 times as large with the performance improved by twofold.
- Provisioned IOPS SSD – The maximum storage size for these volumes is also 16TB. They are intended for maximum throughput and IO performance. The baseline performance of them is up to 30 IOPS/GB to a maximum of 20,000 IOPS. These volumes are optimal for applications with I/O-intensive workloads such as databases. Previously, the maximum storage size for them was 1TB with maximum of 4000 IOPS.
- Magnetic – The magnetic volumes are backed by magnetic drives, magnetic volumes offer lowest cost per GB. These volumes can deliver up to 100 IOPS. Magnetic volumes still provide maximum storage of 1TB and the size has not been increased for this kind of volume. They are chosen when cost acts as an important factor in the selection of storage.
You can now have higher capacity volume without striping smaller volumes. Both SSD volume types are designed to provide five 9s (99.999%) of availability and up to 320 megabytes per second of throughput when attached to EBS optimized instances. The throughput of an EBS volume is directly proportional to the size. Volumes smaller than 1 TB can burst beyond their baseline IOPS to deliver up to 3,000 IOPS while volumes larger than 1 TB can have a baseline of up to 10,000 IOPS.
If you want to increase the size of your existing volumes to take advantage of this new feature release, you can resize your current volumes using our previous blog post here.
If you have any questions, ask them at the bottom and I will try to get them answered.