Performance, Resource, and Cost Aware Resource Provisioning in the Cloud

Current cloud users pay for statically configured VM sizes irrespective of usage. It is more favorable for users to consume (and be billed for) just the right amount of resources necessary to satisfy the performance requirement of their applications. We take a novel perspective to enable such resource usage, where we assume that the cloud operator exposes a small, dynamic fraction of its infrastructure, corresponding resource specifications, and constraints to each application. We then propose a dynamic and computationally efficient reconfiguration scheme which comprises an Application Performance Model, a Cost Model, and a Reconfiguration algorithm. The performance model estimates application performance given specific resources. Cost model assigns a value to resource candidates made available to the application considering the lease expense, reconfiguration penalty, and operating income. A reconfiguration algorithm, assisted by the cost model, then makes optimal reconfiguration decisions. Simulation results for RUBiS and filebench-fileserver applications and Worldcup workloads show significant cost savings while meeting performance targets compared to rule-based scaling.