Cost-aware Resource Provisioning in Clouds

From Master Projects
Jump to: navigation, search

About Cost-aware Resource Provisioning in Clouds


Elasticity is an economic term that measures how much a product is used less if the price increases. Nowadays, this term is commonly used in distributed infrastructures, and in particular in cloud computing platforms to define the ability to growth or shrink on-demand the computational power associated to an application. Cloud infrastructures enables flexible and elastic provisioning by supporting a wide variety of hardware configurations and mechanisms to add and remove server capacity. Thus a steady client of these infrastructures are today´s web applications that often have to face significant variations in their request load, and thus the amount of computational resources that they use has to be dynamically adjusted depending of their workload changes. The current infrastructures do not offer an efficient provisioning mechanism to typical multi-tiered applications (web-tier, app-tier, db-tier), as they only adjust the amount of resources depending on the load of the currently allocated resources.

As a consequence, the design of elastic provisioning systems for web applications is currently a subject of considerable research [1,2]. Most of the existing approaches are able to increase and decrease the computational power of a specific tier in order to guarantee several performance requirements, expressed in the form of a Service Level Agreement (i.e., response time < 700ms). To do that, these approaches constantly monitor the values of SLA constraints such as the response time, cpu usage and request rate. These values enable to predict or react against bursty workload variations. However, the majority of the current approaches do not consider the infrastructures cost when taking provisioning decisions.

Cloud infrastructures such as Amazon EC2 and Windows Azure offer a wide variety of server configurations for rent, each with a different rental cost. Thus the pricing models vary depending of the provider and the required configuration: number of cores, type of server, time usage (hours), number of transactions, etc... In such a way, we consider that resource provisioning systems should attempt to minimize the infrastructure cost while meeting the application's SLA.

In the context of ConPaaS team, we aims to develop a cost-aware resource provisioning system that minimizes the cost of renting servers, as well as assures the SLA contract using the same computational power. To achieve this objective, we first need to analysis the different pricing models offered by the majority of the cloud providers. Then, we have to identify all the resource provisioning operations that can vary the infrastructure cost. Finally, a cost-aware algorithm has to be designed and integrated into the existing resource provisioning mechanism offered by ConPaaS [3].

In the future, this system should be able to choose a specific cloud provider when running applications on federated clouds.

Contact Information

Thilo Kielmann:

Héctor Fernández:

Additional Information

[1] B. Urgaonkar et al., Agile Dynamic provisioning of Multi-Tier Internet Applications. 2008.

[2] J. Dejun, G. Pierre et al. Resource Provisioning of Web Applications in Heterogeneous Clouds. 2011.

[3] G. Pierre and C. Stratan. ConPaaS: a Platform for Hosting Elastic Cloud Applications. 2012.