4 min read

RDS gp3 Volumes - Decrypting the latest storage announcement from AWS

RDS gp3 Volumes - Decrypting the latest storage announcement from AWS

In this technical blog, we will investigate the potential benefits and areas of challenge of the recent AWS announcement of the general release of RDS General Purpose (gp3) storage volumes.

 

Background

In December 2020, when AWS launched gp3 for EC2 volumes, there was a promise that the new gp3 volumes would provide ‘up to 20% lower price-point per GB’ than the existing gp2 volumes.

Whilst there were a few teething problems after launch, this was an accurate promise that provided cost savings and better baseline performance for certain workloads. As a result, the announcement of a “gp3” for RDS volumes was highly anticipated by the market to deliver a similar promise.

High-Level Assessment of RDS gp3

The key headline is that whilst the RDS gp3 announcement is welcome, it is very unlikely that consumers will see similar cost savings across the board, to the scale that were seen for EC2 gp3 volumes.

The benefits for RDS gp3 volumes are more nuanced and essentially see a trade-off of benefit of cost or baseline performance based on which RDS volume you are modifying to gp3.

It is important to note, this is not necessarily a bad thing. FinOps isn’t ALWAYS about saving money, but our analysis highlights the key point that AWS has not decreased the storage price when you compare gp2 to gp3 volumes as they did for EC2 volumes (shown in tables below for eu-west-1).

 

Attribute gp2 gp3 io1
Storage $0.127 $0.127 $0.138
IOPS - $0.022 $0.110
Throughput - $0.088 -

Table 1 - RDS Volume Price

 

Attribute gp2 gp3 io1
Storage $0.11 $0.088 $0.138
IOPS - $0.0055 $0.110
Throughput - $0.044 -

Table 2 - EC2 Volume Price

We attribute the lack of price decrease to likely be an indicator that base prices for AWS services are likely to increase due to wider economic headwinds and inflation.

 

Detailed Considerations

Our analysis shows that AWS has added some additional thresholds that need to be considered based on two factors - the database engine selected and the size of the volume.

The table below shows some scenarios on how altering these parameters can impact the performance of gp3 volumes:

DB Engine Storage size Baseline storage performance Range of Provisioned IOPS Range of provisioned storage throughput
MariaDB, MySQL, and PostgreSQL Less than 400 GiB 3,000 IOPS/125 MiB/s N/A N/A
MariaDB, MySQL, and PostgreSQL 400 GiB and higher 12,000 IOPS/500 MiB/s 12,000–64,000 IOPS 500–4,000 MiB/s
Oracle Less than 200 GiB 3,000 IOPS/125 MiB/s N/A N/A
Oracle 200 GiB and higher 12,000 IOPS/500 MiB/s 12,000–64,000 IOPS 500–4,000 MiB/s
SQL Server 20 GiB–16 TiB 12,000 IOPS/500 MiB/s 3,000–16,000 IOPS 125–1,000 MiB/s

Table 3 - RDS gp3 Performance Parameters

 

Areas of Potential Performance Improvements

The baseline level for gp3 is set at 3000 IOPS and 125 MiB/s throughput. This can be adjusted at an extra cost, to increase each of those parameters independently, up to 64,000 and 4,000 MiB/s, respectively. By comparison, gp2 provides 3 IOPS/GB (minimum 100 IOPS) and up to 250 MiB/s of throughput depending on volume size and burst credits available.

The key benefit of gp3 in this scenario is that you don’t need to worry about burst credits, as you can get consistent performance. However, the trade-off is that you will need to consider the thresholds in the table shown above when you are deciding on whether to shift from gp2 to gp3 from the outset.

The table below shows a high-level comparison (Single-AZ deployment) of different scenarios and how this can impact the performance and the price of the RDS volume you deploy. The calculations below align the gp3 variants as closely to gp2 performance levels as possible while also considering the enforced baseline thresholds.

RDS gp2 vs gp3 storage-1Table 4 - RDS gp3 Potential Performance Improvement Scenarios

 

Scenarios to consider:

  • Decision MariaDB, MySQL and PostgreSQL - you can achieve a baseline performance improvement on gp3 up to 400 GiB in storage size. Once you set storage above 400 GiB the enforced baseline performance thresholds will see a sharp increase in price compared to gp2.
  • Oracle - a similar situation occurs with performance benefits but up to a lower storage threshold. Once you reach 200 GiB, enforced thresholds increase the overall price of the volume
  • SQL - this will offer better performance by selecting gp3 over gp2 up to 200 GiB in storage, but above this size, you will see an increase in price due to increasing throughput above 125 MiB/s to match gp2 throughput, and later IOPS provisioning once you go above 1TB in volume size.

As you can see from the scenarios above, getting the right volume for your RDS database can be complex and challenging. Moving from a gp2 to gp3 volume for lower storage sizes will give you better performance for the price (highlighted in green), but you need to be aware that once you hit certain thresholds, a sharp increase in cost might mean that it makes more sense to stay on a gp2 volume (highlighted in red).

 

Potential Cost Improvements

Where you can see some cost savings will be when converting from io1 to gp3 disk. But again, when to do this will be dependent on the volume size and database engine due to the minimum thresholds on gp3 volumes.

The table below shows a high-level comparison (Single-AZ deployment) of different scenarios and how this can impact the performance and the price of the RDS volume you deploy. The calculations below compare io1 and gp3 volumes, with the provisioned IOPS value for io1 volumes being set using the rule of IOPS = 3 * Storage Size.

RDS io1 vs gp3 storage table-1Table 5 - RDS gp3 Potential Cost Improvement Scenarios

As you can see from the table above (highlighted in green), in most scenarios, the io1 volume will cost considerably more than the gp3 volume, with gp3 also providing higher performance levels.

However, depending on the database engine and your volume size, it might still be beneficial to stick with io1 volumes. For example, if you have a 400 GiB volume for your MySQL database, the enforced threshold on gp3 will result in a sharp increase in cost.

RDS io1 vs gp3 storageFigure 1 – io1 & gp3 comparison chart

Conclusion

While beneficial in many workload scenarios, the announcement of gp3 volumes being available for Amazon RDS will require extra analysis to establish whethAnalysiser to modify your existing workloads.

This analysis does come with a health warning; it is complex and can be time intensive. This can be mitigated by using Cloud Cost Optimisation experts such as the team at Thebes Cloud Management, who will achieve value faster and drive cost efficiency in your investments.

The pricing model launched, especially when comparing gp2 to gp3 volumes, could be described as a little strange on the surface, but there will still be opportunities to save a significant amount of money when converting from io1 to gp3.

The second health warning is that at the time of writing, gp3 volumes aren’t available on Multi-AZ DB clusters where you have two readable standbys. For this scenario, you would need to continue using io1 volumes.

As usual, when making these types of changes, create snapshots and test the process within non-production environments before modifying them in production.

In summary, the simple statement of analysis is that there are benefits to adopting RDS gp3 volumes, however, these are not at the blanket level that the EC2 gp3 volume pricing gave and require more thoughtful analysis.

 

 

 

RDS gp3 Volumes - Decrypting the latest storage announcement from AWS

RDS gp3 Volumes - Decrypting the latest storage announcement from AWS

In this technical blog, we will investigate the potential benefits and areas of challenge of the recent AWS announcement of the general release of...

Read More
Are you optimising your cloud and if not why?

Are you optimising your cloud and if not why?

Inflation will impact your cloud budget – how CIOs can ease the pressure quickly through optimisation

Read More