AWS Spot Blocks: Predictable behavior at a low price

As in every AWS event, large or small, re:Invent 2015 was a platform for numerous announcements by AWS of new and exciting products and services. Of these, one of the more interesting announcements was that of a new paradigm for AWS spot instances – the “AWS Spot Blocks”.

Typical spot instances represent unutilized compute resources at any point in time which AWS offers users at a fraction of the regular price, in an attempt to utilize idle servers and retrieve some of the otherwise lost ROI. The price of spot instances is variable, and determined by supply and demand and by bidding on usage rates. Spot market prices are updated every 5 minutes on the AWS portal and website, and discounts can go up to 90%. The trade-off for the extremely low price is high volatility, i.e. if another customer wishes to provision an instance which is not available, matching running spot instances will be terminated automatically, with just a 2-minute warning.

In re:Invent 2015, AWS announced its new variant of spot instances: the AWS Spot Blocks. Unlike regular spot instances, AWS Spot Blocks have the following characteristics:

They run without interruption or termination for a fixed period of time (1 hour or 6 hours), after which they are terminated.

Their price is deterministic (different price for 1 or 6 hours), set at 30-45% lower than on-demand rates. An additional 5% discount is given for usage at “off-peak” hours, which are applicable on Saturdays and Sundays.

Google Cloud’s Preemptible VMs are somewhat similar to AWS Spot Blocks in that usage has an upper bound (24 hours) and the price is deterministic, but they’re different in that they can be terminated at any time, more like regular spot instances and in that they’re offered at 70% lower than their on-demand rates.

Many types of workloads (batch jobs, Hadoop clusters etc.) only need to run for a few hours. Provisioning on-demand instances for these jobs may result in cloud sprawl and inflated bills if these instances are not turned off when the job is done. AWS Spot Blocks address this issue by limiting the time for which instances are running, and provide uninterrupted operation, thereby addressing the volatility of regular spot instances. In this, AWS addresses the challenge of utilizing its infrastructure, while offering a mid-tier in the price/volatility trade-off.