Metric Driven Cost Optimisation (MDCO)
Introduction
4 min read
Nathan Phillips
:
Nov 28, 2022 10:22:54 AM
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.
Table 4 - RDS gp3 Potential Performance Improvement Scenarios
Scenarios to consider:
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.
Table 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.
Figure 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 whether 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.
In this technical blog, we will investigate the potential benefits and areas of challenge of the recent AWS announcement of the general release of...
Inflation will impact your cloud budget – how CIOs can ease the pressure quickly through optimisation