[20170913220722] Spot Instance and Rack API Availability Improvements

Spot Instance Improvements

This release simplifies automatic Auto Scaling Group management for Racks that use Spot Instances.

With Spot Instances enabled, a Rack will try to satisfy the desired instance scale with spot instances, and every 60s adjust the on demand instance count to make up for spot instances that disappear.

To turn on spot instances:

  • Turn off Rack AutoScale
  • Configure the cluster to use an InstanceType with spot instance availability
  • Configure the cluster for the desired total InstanceCount and the desired minimum guaranteed on demand capacity by OnDemandMinCount
  • Set a SpotInstanceBid in dollars
$ convox rack params set AutoScale=No
$ convox rack params set  InstanceType=m3.medium InstanceCount=6 OnDemandMinCount=3
$ convox rack params set SpotInstanceBid=0.10

To disable spot instances, say to quickly return to using all on demand instances because spots are not available, remove the SpotInstanceBid

$ convox rack params set SpotInstanceBid=

Parameterize Rack API Count

Mission critical clusters can benefit from having more than 2 Rack API containers running to guarantee API availability. To tune this, run:

$ convox rack params set ApiCount=5