Skip to content

Account for AWS Savings Plan when choosing to deploy on-demand or spot #3860

Open
@lksvenoy-r7

Description

@lksvenoy-r7

Tell us about your request

We need Karpenter to take into account discounts applied on compute as a result of AWS Savings Plans, and other types of discounts.

Having some mechanism to pass in configuration to inform Karpenter of discounts applicable to the specific environment it is running in, or have it somehow figure that out, would allow Karpenter to make better decisions with more accurate pricing information.

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?

Currently, Karpenter does not respect discounts that may be applicable as a result of AWS Savings Plan (and other discounts). Starting in April, we've noticed a significant increase in spot prices for certain regions, with for example us-east-1 spot instances that we are utilizing costing on average 50% more than 2 months prior.

This puts us in an awkward spot where running on on-demand may be significantly cheaper than running on spot pricing, due to discounts applied as a result of AWS Savings Plans.

To illustrate, consider the instance type m5d.12xlarge in us-east-1:

On the 16th of March, the spot price for this instance type was $1.06/hr. Since then, the price has been steadily increasing, currently at $1.56/hr.

This same instance type using a Compute Savings Plan, with a term length of 3 years, partial upfront, puts the price at $1.264/hr.

This is a ~21% difference in price.

Excluding other types of discounts, this means that we are now running into scenarios where running our workloads on on-demand is significantly cheaper than running on spot, not to mention more stable.

Are you currently working around this issue?

Short-term, we are seriously considering moving our workloads to on-demand, as this would significantly reduce the cost of our infrastructure. Long-term, we would like to see Karpenter be able to make better decisions around price performance.

Additional Context

No response

Attachments

No response

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions