Harnessing Low-Cost Virtual Machines on the Spot
Résumé
Public cloud providers offer computing resources through a plethora of Virtual Machine (VM) instances of different capacities. Each instance is composed of a pre-determined set of virtualized hardware components of different types and/or quantities (number of cores, memory, storage and bandwidth capacities, etc.), in an attempt to satisfy the demands of a diverse range of user applications. Typically, cloud providers offer these instances under several contract models that differ in terms of availability guarantees and prices (On-demand, Spot, Reserved). This chapter provides an overview on how users might utilize and benefit from the variety of instances and different contract models on offer from public cloud providers to reduce their financial outlays. A methodology to dynamically schedule applications with deadline constraints in both hibernation-prone Spot VMs and On-Demand Instances in order to lower costs in relation to a pure On-demand solution is described. Independent of the chosen contract model, identifying the appropriate instance type for applications is also important when attempting to trim expenses. Since it may not be obvious, a short discussion motivates why this decision is not solely related to defining the required resource capacities the chosen instances should have. Finally, given that some cloud providers have recently introduced the concept of Burstable Instances that can boost their performance for a limited period of time, the chapter closes with a summary of approaches that exploit the discounted rates afforded by this new instance class.