RI Modifications are one of the quickest and most effective ways to lower your AWS cloud spend. So much so that the Cloudability RI Planner implicitly first recommends modifications before recommending any new purchases. In this article, we’re going to dive into the data behind these recommendations and create a report that will surface the exact savings opportunity available with RI Modifications.
As usage patterns change and infrastructure is added, new projects are launched, or as business strategy pivots, Reserved Instances can become misaligned. This can result in unnecessary on-demand usage and cost, combined with wasted RIs—making Modifications a critical tool in any cloud strategy. Thankfully, Amazon allows a free and unlimited number of modifications to the instance size, provided the instance remains within the same family, and to the availability zone, provided the instance stays within the region, of your Reserved Instances (changes are also permitted between VPC and Classic—full documentation is available through AWS). Routine modifications will pave the way to cost savings and a more efficient cloud ; lets see exactly what savings is being left on the table.
In the Cloudability RI Planner there is a mapping of all Reservations that need to be modified. The recommendations are a function of the observed on-demand and reserved usage over the time period selected in the report, and specifically wherever there are underutilzed reservations that could be modified, within AWS parameters, to cover on-demand usage hours. In this example we have purchased m3.xlarge RIs in us-west-2b, however we are running on-demand in us-west-2a.
What are these on-demand m3.xlarge hours in us-west-2a costing us? And what is our savings opportunity?
We’ll need to create an Analytics report in Cloudability with a few specific filters, Dimensions and Metrics - start with the same date range as the RI Planner query, and add a filter for the matching instance type and availability zone. In our example this is ‘instance type_equals_m3.xlarge’ and ‘availability zone_contains_us-west-2’ as well as ‘compute usage type_not equals_node usage’ in order to surface only the relevant instances.
Adding Dimensions for ‘compute usage type’, ‘instance type’, and ‘availability zone’, as well as Metrics for ‘on demand hours’, ‘reserved hours’, ‘unblended rate’, and ‘unblended cost’ will create the data table with the information we need to calculate our savings opportunity.
Note the first line in our example - this represents the on-demand usage in us-west-2a that we are not covering with our RIs. Modifying our existing reservations from us-west-2b will begin to hedge these costs and better align our infrastructure to our usage.
Clicking this link will recreate the above example report. Update the ‘instance type’ and ‘availability zone’ filters to match the instances being recommended in your own data, and start lowering your cloud spend with RI Modifications!
* The highlighted ‘Box Usage’ (4th line item) in the example report represents both on-demand and reserved usage hours. This is due to the application of All Upfront RIs, which are surfaced with the same ‘compute usage type’ as on-demand usage. For more detail around this, and to understand why Partial RIs can be more advantageous, click this link to read a blog post from our co-founder.