Dynamic resource provisioning aims at maintaining the endto-end response time of a web application within a predefined SLA. Although the topic has been well studied for monolithic applications, provisioning resources for applications composed of multiple services remains a challenge. When the SLA is violated, one must decide which service(s) should be reprovisioned for optimal effect. We propose to assign an SLA only to the front-end service. Other services are not given any particular response time objectives. Services are autonomously responsible for their own provisioning operations and collaboratively negotiate performance objectives with each other to decide the provisioning service(s). We demonstrate through extensive experiments that our system can add/remove/shift both servers and caches within an entire multi-service application under varying workloads to meet the SLA target and improve resource utilization.
Jiang et al. REF proposed an autonomous resource provisioning mechanism for multi-service applications.
Autonomous resource provisioning for multi-service web applications
WWW '10
Computer Science