Amazon Web Services (AWS), the secretive infrastructure arm of Amazon.com, Inc., today announced in an email to customers that it's going to limit the maximum bid price customers may apply to AWS Spot instances. Spot instances allow you to "name your price" on Amazon's hosting infrastructure by putting a bid on spare capacity. If the "market" price drops below your bid, you get the compute capacity at that price. After your Spot instance has been started, if the market price goes up for that type of instance, your instance will be terminated and given to someone else who has placed a higher bid.
When AWS created the Spot instance concept, they probably had in mind the idea that a free market for instance capacity would unleash a bunch of latent revenue from customers who wouldn't otherwise pay the full going rate for computing capacity. But there is a problem with the original Spot instance model: by simply setting your bid to a really large number -- i.e. a number many times higher than the regular "on-demand" cost of the compute capacity -- you can effectively secure cheap capacity 24x7x365, and avoid paying Amazon the regular fees for this capacity. In reality, the bid price rarely rises above a pre-set minimal level; to survive the spikes, all you need is to set the bid higher than the highest spike. Without admitting guilt, I have to agree this is a pretty solid idea.
In their announcement today, AWS claims that they are limiting the maximum bid price, "to protect Spot customers from incurring unexpected Spot charges due to high bid prices and reduce the likelihood that Spot prices rise to excessively high levels." What they did not say, and what I believe to be the actual truth underlying this move, is that thousands of companies are using Spot instances as a cheap form of permanent infrastructure. And that type of activity is most likely causing noise in the Spot price market, leading to some genuine price spikes and therefore customer support issues.
Here is the full text of Amazon's email to me:
Dear Amazon EC2 Spot Customer,
We are emailing you because your AWS account has recently placed one or more high Spot bids. Starting on December 20, 2013, we will introduce a default limit on the maximum amount you can bid for a Spot Instance. This new bid price limit is designed to protect Spot customers from incurring unexpected Spot charges due to high bid prices and reduce the likelihood that Spot prices rise to excessively high levels.
By default, the new bid limit will be set to four times the On Demand price. For example, if you submit a Spot request for a Linux m3.2xlarge instance in US East, for which the On Demand price is $0.900 per hour, you may bid up to $3.600 per hour. If you currently bid above this new limit, we recommend that you cancel and terminate your existing bid, and start bidding within the limits before December 20.
If your use case requires you to bid above the default bid price limits, please submit a limit increase request to firstname.lastname@example.org with your AWS account number, how you use Spot Instances and manage interruptions, and the bid limit you are requesting. Spot instances may be interrupted regardless of the bid price you set, so we will be unable to support bid limit increases for the purpose of preventing Spot interruptions.
If you have any questions or comments about the new bid limits or Spot Instances in general, please contact us at email@example.com.
The Amazon EC2 Team