Cloudthread Y Combinator
May 2, 2023

Overcoming RDS rate vs usage optimization paralysis

If RIs for your RDS instance are “Size Flexible”, you can and should take action before resolving rightsizing uncertainties. This article gives context on what this means and how it allows you to flexibly cover a portion of your RDS instance spend.

We consistently see companies paralyzed from acting on RDS commitments because they don’t want to get commitments on inefficient resource usage. Very fair concern, but there’s impactful waste incurred every day this paralysis continues.

The cycle goes something like this:

  • I want to save on RDS
  • RDS reserved instances (RIs) will give impactful, zero-engineering-effort savings
  • I don’t want to buy RIs until I’m confident the RDS instances are sized correctly
  • I’ll kick the can and take no action on RDS saving, continuing to waste $

If RIs for your RDS instance are “Size Flexible”, you can and should take action before resolving rightsizing uncertainties. This article gives context on what this means and how it allows you to flexibly cover a portion of your RDS instance spend.

What is "Size Flexible"?

Which RDS instances have RIs that are eligible for size-flexibility?

As of this article’s writing, RDS Instances with the following DB engine and license model:

  • MySQL
  • MariaDB
  • PostgreSQL
  • Amazon Aurora
  • Oracle "Bring Your Own License”

What does it mean for a Reserved Instance to be “Size Flexible”

To quote the RDS faq : It means the reservation will “automatically apply to a running DB instance of any size within the same instance family (e.g. M4, T2, or R3) for the same database engine and Region. In addition, the reservation will also apply to DB instances running in either Single-AZ or Multi-AZ deployment options.For example, let’s say you purchased a db.m4.2xlarge MySQL reservation. If you decide to scale up the running DB instance to a db.m4.4xlarge, the discounted rate of this RI will cover 1/2 of the usage of the larger DB instance.”

How are the “Size Flexible” Reserved Instance applied?

For AWS’ detailed description, see How Reserved Instances are applied here.

The key metric that determines how the size flexible reserved instance is applied is the “normalization factor”. A snippet of the normalization factor table and AWS’ example graphics below.

How can I be certain whether a Reserved Instance is “Size Flexible”?

In the reservation, check for “Size Flexible: Yes”. See screenshot below.

🎯 Take the below steps to start saving on RDS asap:

🧟 Step 1: Hunt for and retire zombie RDS instances

Quick wins. Potential no-risk savings.

🕵️‍♂️ Step 2: Analyze RDS rightsizing opportunities for Size Flexible instances

If you’re using native tools, this means digging into Cloudwatch usage data to evaluate overprovisioned resources.

If you’re using Cloudthread, you can see all RDS rightsizing opportunities from across regions/accounts in your Opportunities Explorer.

💰 Step 3: Buy RIs for the rightsize recommended instance sizes (not the existing instance size)

If it’s an instance you’ll use for the coming year, it’s worth covering with an RI to realize zero-engineering-effort savings.

🗺️ Step 4: Map out if and when you want to act on the rightsizing recommendations

This will be unique to your infrastructure requirements and bandwidth.

🔎 Step 5: Once you’ve completed any rightsizing you want to, revisit your RI coverage

If you do rightsize the instance, great, you’re already covered by the appropriate RI and you’ve been saving since the moment you bought it. If you don’t rightsize the instance, given the nature of size flexible reservations, you can purchase an additional reservation to achieve full coverage.

Make cloud costs a first class metric for your engineering organization.
Copyright © 2024 CloudThread Inc.
All rights reserved.
Copyright © 2024 CloudThread Inc. All rights reserved