Geva Perry, from Thinking out Cloud, had a great post last December regarding AWS spot instances prices (bidding prices where charge is done based on market current pricing) and why the spot instances pricing should not be higher than on demand instances. The post had a comment thread by James Watters, Guy Rosen, Shlomo Swidler and me discussing why spot instances pricing should not surpass the on demand instances pricing, and why this assumption was broken (for relatively short spikes) in the reality.
NOTE: Please find my previous post regarding spot instances for more information.
How Can Spot Instances Exceed On Demand Instances?
I got back to this great post and the discussion, and I would like to contribute several insights from day to day work with the spot instances in the last months:
- Most of the time Spot Prices are around the marginal costs of reserved instances. There is a lot of sense for that, according to economy laws: the product price is its marginal cost.
- The spot launch time is directly connected to your bid. If you’ll place a $0.032/hour bid on small Linux instance in US-East (just a little bit higher than the marginal cost) it will take Amazon about 15 minutes to launch your instance. If you place a $1/hour bid, you’ll get your instance in a few seconds. Therefore, if you use spot instances as a development environment or your Continues Integration environment, you probably choose to place higher prices than the on demand instances.
- High bids can assure you low cost always-on instances (a.k.a production environment), without the initial reserved instances down payment. Of course, you are prone to spikes, yet it worth according to the following calculation:
|On Demand Instance:||$0.085/hour|
|Bid Price:||$0.85/hour (X10 of the regular on demand pricing)|
|Amortized spot price:||$0.0382/hour|
The Bottom Line:
The mystery was solved; spot prices can exceed the on demand instances pricing in spikes due to their unique behavior and long term considerations by taken by AWS clients.