In a comment in a previous question, someone mentioned that
in late 2017 AWS changed the spot pricing algorithm to substantially reduce volatility. Spot prices do signal demand but the demand signals have been dampened to the point that they no longer clearly signal capacity
That's in line with my experience. Whereas prices used to spike as supply diminished, that no longer happens. Instead spot instances are terminated with the following reason: instance-terminated-no-capacity
.
I feel I no longer understand how spot pricing works and I find my machines keep getting terminated due to supply reasons (rather than price/bid like they did in the past).
Can anyone explain the current algorithm used to determine spot instance pricing and availability? I'm just looking for a high-level explanation so I can come up with bidding/provisioning strategies that make sense post 2017.
instance-terminated-no-capacity
simply means there is no capacity at your bid price. If the message used to be different they may have changed the message. I usually bid slightly above on-demand prices and seldom get my instances terminated.