  Cloud spot markets rent VMs for a variable price that is typically much lower
than the price of on-demand VMs, which makes them attractive for a wide range
of large-scale applications. However, applications that run on spot VMs suffer
from cost uncertainty, since spot prices fluctuate, in part, based on supply,
demand, or both. The difficulty in predicting spot prices affects users and
applications: the former cannot effectively plan their IT expenditures, while
the latter cannot infer the availability and performance of spot VMs, which are
a function of their variable price. To address the problem, we use properties
of cloud infrastructure and workloads to show that prices become more stable
and predictable as they are aggregated together. We leverage this observation
to define an aggregate index price for spot VMs that serves as a reference for
what users should expect to pay. We show that, even when the spot prices for
individual VMs are volatile, the index price remains stable and predictable. We
then introduce cloud index tracking: a migration policy that tracks the index
price to ensure applications running on spot VMs incur a predictable cost by
migrating to a new spot VM if the current VM's price significantly deviates
from the index price.
