The new io2 EBS volume type is awesome

August 25, 2020

The new io2 EBS volume type is awesome

Yesterday Jeff Barr announced the new io2 EBS volume type. It offers two main features which make it an awesome replacement for the old io1 type.

The io1 and io2 volume types form the family of EBS volumes with IOPS as their dominant performance trait. These are the go-to type of disks for workloads with many small reads and writes, like databases.

The pricing and performance for all other disk types (standard, gp2, st1 and sc2) is pretty straight-forward. You configure a disk’s size (up to 16 TB), and you get a number of IOPS or MBps per GB. For example, the gp2 disk provides 3 IOPS per GB and costs $0.10 per GB-month (in Ohio). A 100 GB gp2 disk will thus be able to provide a sustained 300 IOPS for $10 per month.

For these disks, the only way to get more IOPS is to increase the disk size (at $0.10 per GB). For workloads with high IOPS requirements this doesn’t scale. Additionally, gp2 disks have an upper limit of 16.000 IOPS.

The io disks have a different pricing model, which consists of two components. The first is a price per GB-month for the volume’s size, like the other disks. But instead of providing a number of IOPS per GB, the configured volume size determines the max IOPS you can configure for the disk. The IOPS for the disk are the second price component, which is priced at $0.065 per IOPS-month in Ohio.

Pricing example for io1 disks

Let’s say your workload requires a volume with 20 GB of storage and 10.000 IOPS. Because the limit for io1 volumes is 50 IOPS per GB, you actually need to provision 10.000 / 50 = 200 GB. A 200 GB volume costs 200 * $0.125 = $25. The IOPS cost is 10.000 * $0.065 = $650, so this volume will total $675 per month.

Pricing for io2 disks

The pricing for io2 disks is the same as for io1. But the limit of provisioned IOPS is 500 per GB, so an 20 GB io2 volume can actually be configured at 10.000 IOPS.

Let’s calculate the price for an io2 disk with the same specs as above. A 20 GB volume costs 20 * $0.125 = $2.50. The IOPS still cost 10.000 * $0.065 = $650, so this volume will total $652.50 per month, which equals 3.33% in cost savings.

Pricing compared

The pricing difference is most significant at workloads with small volumes with high IOPS requirements, like the example above.

In the table below, we compare the pricing for io1 and io2 volumes at different volume sizes. The target performance is 5.000 IOPS. The break-even point is 100 GB.

GBs Volume size price IOPS price Max IOPS io1 Max IOPS io2 Min io1 size Min io2 size Actual volume size price io1 Actual volume size price io2 Total price io1 Total price io2 Savings
20 $2,50 $325,00 1.000 10.000 100 20 $12,50 $2,50 $337,50 $327,50 2,96%
50 $6,25 $325,00 2.500 25.000 100 50 $12,50 $6,25 $337,50 $331,25 1,85%
100 $12,50 $325,00 5.000 50.000 100 100 $12,50 $12,50 $337,50 $337,50 0,00%
200 $25,00 $325,00 10.000 64.000 200 200 $25,00 $25,00 $350,00 $350,00 0,00%
1.000 $125,00 $325,00 50.000 64.000 1000 1000 $125,00 $125,00 $450,00 $450,00 0,00%


In the following table the target performance is 10.000 IOPS. The break-even point is 200 GB.

GBs Volume size price IOPS price Max IOPS io1 Max IOPS io2 Min io1 size Min io2 size Actual volume size price io1 Actual volume size price io2 Total price io1 Total price io2 Savings
20 $2,50 $650,00 1.000 10.000 200 20 $25,00 $2,50 $675,00 $652,50 3,33%
50 $6,25 $650,00 2.500 25.000 200 50 $25,00 $6,25 $675,00 $656,25 2,78%
100 $12,50 $650,00 5.000 50.000 200 100 $25,00 $12,50 $675,00 $662,50 1,85%
200 $25,00 $650,00 10.000 64.000 200 200 $25,00 $25,00 $675,00 $675,00 0,00%
1.000 $125,00 $650,00 50.000 64.000 1000 1000 $125,00 $125,00 $775,00 $775,00 0,00%


Next, a target performance of 32.000 IOPS. The break-even point is 640 GB.

GBs Volume size price IOPS price Max IOPS io1 Max IOPS io2 Min io1 size Min io2 size Actual volume size price io1 Actual volume size price io2 Total price io1 Total price io2 Savings
20 $2,50 $2.080,00 1.000 10.000 640 64 $80,00 $8,00 $2.160,00 $2.088,00 3,33%
50 $6,25 $2.080,00 2.500 25.000 640 64 $80,00 $8,00 $2.160,00 $2.088,00 3,33%
100 $12,50 $2.080,00 5.000 50.000 640 100 $80,00 $12,50 $2.160,00 $2.092,50 3,13%
200 $25,00 $2.080,00 10.000 64.000 640 200 $80,00 $25,00 $2.160,00 $2.105,00 2,55%
640 $80,00 $2.080,00 32.000 64.000 640 640 $80,00 $80,00 $2.160,00 $2.160,00 0,00%
1.000 $125,00 $2.080,00 50.000 64.000 1000 1000 $125,00 $125,00 $2.205,00 $2.205,00 0,00%


And finally, a target performance of 64.000 IOPS. The break-even point is 1.280 GB.

GBs Volume size price IOPS price Max IOPS io1 Max IOPS io2 Min io1 size Min io2 size Actual volume size price io1 Actual volume size price io2 Total price io1 Total price io2 Savings
20 $2,50 $4.160,00 1.000 10.000 1280 128 $160,00 $16,00 $4.320,00 $4.176,00 3,33%
50 $6,25 $4.160,00 2.500 25.000 1280 128 $160,00 $16,00 $4.320,00 $4.176,00 3,33%
100 $12,50 $4.160,00 5.000 50.000 1280 128 $160,00 $16,00 $4.320,00 $4.176,00 3,33%
200 $25,00 $4.160,00 10.000 64.000 1280 200 $160,00 $25,00 $4.320,00 $4.185,00 3,13%
1.000 $125,00 $4.160,00 50.000 64.000 1280 1000 $160,00 $125,00 $4.320,00 $4.285,00 0,81%
1.280 $160,00 $4.160,00 64.000 64.000 1280 1280 $160,00 $160,00 $4.320,00 $4.320,00 0,00%
2.000 $250,00 $4.160,00 64.000 64.000 2000 2000 $250,00 $250,00 $4.410,00 $4.410,00 0,00%


As you can see, smaller volumes are up to 3.33% cheaper on io2 than on io1. The higher your IOPS requirements, the higher the break-even point. For environments with many IOPS-based resources, this can lead to significant cost savings. But this isn’t the only reason to switch to io2.

Durability

All EBS volumes before the release of the io2 type have a durability of 99.8 - 99.9% on a yearly basis. That translates to 1 or 2 failing drives per 1.000 volumes, every year. In large environments with thousands of volumes, this is a significant amount which requires additional data protection and failover measures. This can include shared file systems, snapshots, or using S3 instead of EBS for long term storage. All these solutions will cost time, effort and money to build and maintain.

The new io2 disk type features a 99.999% reliability - which means one volume in every 100,000 volumes will fail on a yearly basis. This is very welcome change, bringing io2 disks to enterprise levels of reliability.

Conclusion

With the cost savings and durability improvements in io2, there is no reason not to migrate as many io1 disks to io2 as soon as you can. At the very least, deprecate io1 as an option for every new deployment. The only exception is when you use EBS multi-attach… but not many people do.

If you have any question or remarks, or would like to get in touch you can find me on Twitter or LinkedIn.

Luc van Donkersgoed

Luc van Donkersgoed