Intelligent Showback: Savings Reallocation Methods

Summary

The ProsperOps service is designed to maximize overall organization-wide savings, however, those savings often need to be attributed back based on resource use, discount rate, etc. This process is known as showback.

A typical AWS environment will include a mix of differently discounted resources, such as:

  • Linux (higher discount) and Windows (lower discount) platforms
  • c5 (higher discount) and i3 (lower discount) instance types
  • us-east-1 (higher discount) and eu-central-1 (lower discount) regional workloads
  • EC2 (higher discount) and Lambda (lower discount) usage

While AWS native cost and savings allocation is not useful from a showback perspective, there is also no single, agreed-upon method of allocating savings that is considered "right" for everyone. As such, the ProsperOps Intelligent Showback feature offers two savings reallocation methods to choose from.

Shared Benefit (default)

This method takes the total savings generated and shares it across all compute resources, relative to their discount rate, regardless of whether those compute resources had matching RIs or SPs. Because the ProsperOps service and SPs both favor the highest discounted resources to cover, lower discounted services, instance types, platforms, regions, etc. naturally have less coverage, and thus receive fewer savings by default. The Shared Benefit method ensures that these lower discounted resources participate in the savings, albeit proportional to their discount rate. In other words, lower discounted resources get some savings allocated to them, but not as much as higher discounted resources. 

Use this savings reallocation method when you have a mix of higher and lower discounted resources and want to ensure that all teams, divisions, products, etc. receive a fair share of the global savings generated.

Shared Benefit Example

Consider the following environment where savings has been reallocated using the Shared Benefit method:

(costs shown are us-east-1 for a 30-day month)

Given the use of RIs and SPs, a total of $4,762.16 of savings was generated. Because the Shared Benefit method shares that pool of savings across all compute resources that ran, regardless of what resources were originally responsible for the savings, notice how the Reallocated Savings shows some portion of the savings benefit for each and every compute usage line item.

Everyone "shares" in the benefit, however, the portion of savings allocated to each compute usage type is proportional to 1) its % of usage globally, and 2) its AWS discount rate.

  • m5.large Linux EC2 has almost half the usage and the highest discount rate, so it gets the largest portion of reallocated savings
  • m4.large Windows EC2 also has almost half the usage but has a lower discount rate, so it gets a lower portion of reallocated savings
  • Lambda usage is quite small and has the smallest discount, so it gets an extremely small portion of reallocated savings
In all cases, each usage type gets a portion of the savings generated but its participation in the benefit is commensurate to its usage amount and discount rate.

Earned Benefit

(coming soon)

This method takes the total savings generated and shares it across all resource types for which there was a matching RI or SP. Because the ProsperOps service and SPs both favor the highest discounted resources to cover, this method allocates savings to those resources and not to lower discounted services, instance types, platforms, regions, etc. for which there was no RI or SP coverage.

Use this savings reallocation method when you want to reward teams, divisions, products, etc. that use higher discounted resources and incent decisions away from lower discounted options.

Earned Benefit Example

Here's the identical environment above where savings have been reallocated using the Earned Benefit method:

(costs shown are us-east-1 for a 30-day month)

As with the Shared Benefit example above, the use of RIs and SPs generated a total savings of $4,762.16, however, the Earned Benefit method results in different Reallocated Savings. Because Earned Benefit favors the higher discounted resources that "earned" the overall savings generated and does not seek to share it with lower discounted resources, the distribution of savings is as follows:

  • Since m5.large Linux EC2 has the highest discount, 100% of usage is covered by RIs and the SP. It generated and receives the most savings which equal ~80% of total savings. Notice this is ~16% more savings than Shared Benefit.
  • m4.large Windows EC2 has a modest discount so RIs and the SP cover only a portion of usage. With native AWS discount application, which m4.large Windows EC2 usage actually receives the benefit is random, however, Earned Benefit takes the savings generated by this resource type and proportionally allocates it across all occurrences (in this case, across m4.large Windows EC2 usage in the Dev and App2 Prod accounts). This resource type generated and receives ~20% of the total savings, which is ~16% less than Shared Benefit.
  • The Lambda discount is the smallest. No Lambda usage is covered, so it generated no discounts and thus receives zero benefit.

With Earned Benefit, only higher discount resources will receive the savings benefit. While Lamda was the low discount service that received no Reallocated Savings in this example, keep in mind it could be any global compute low discount resource type including low discount regions, instance types, platforms, etc.