LeanerCloud / AutoSpotting

Saves up to 90% of AWS EC2 costs by automating the use of spot instances on existing AutoScaling groups. Installs in minutes using CloudFormation or Terraform. Convenient to deploy at scale using StackSets. Uses tagging to avoid launch configuration changes. Automated spot termination handling. Reliable fallback to on-demand instances.

Home Page:https://autospotting.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Frequency of interruption is used for prioritize?

umitseremet opened this issue · comments

Github issue

Issue type

  • Feature Idea

Summary

I wonder "Frequency of interruption" defined by aws in https://aws.amazon.com/ec2/spot/instance-advisor/ is used as a parameter or not. Let's assume I will define r5* types as alternative spot typed. Just price is a factor or "Frequency of interruption" is also a parameter or could be a parameter as partial like %60 price %40 "Frequency of interruption".

The current "Frequency of interruption" ranges are like that: 
< 5%, 5-10%,10-15%,15-20% and >20%

I am aware of that these are not guaranteed but can help to define one of the possible types.

They are not used but in practice the infrastructure will converge to the stable instance types after a few terminations.

Later edits

This can potentially cause a loop situation.
As far as I know there's no API that publishes this data in a machine readable way. If this exists I would love to add support for it.

Hi @cristim ,

it seems that url reflects what we need

curl -s https://spot-bid-advisor.s3.amazonaws.com/spot-advisor-data.json | jq '.spot_advisor["us-east-1"]["Linux"]["g4dn.8xlarge"]'

we can add just types have "r": 0 and "r":1 ones means just <%5 and %5-%10 ones

That's great, I'd love to see a PR that adds (optional/configurable) support for using this data.

@umitseremet this is now handled automatically under the hood by the capacity-optimized-prioritized Spot allocation strategy we use for a while now.

The latest version should have much fewer interruptions than before.