Abstract
The complexity of cloud systems poses new infrastructure and application management challenges. One of the common goals of the research community, practitioners and vendors is to design self-adaptable solutions capable to react to unpredictable workload fluctuations and changing utility principles. This paper analyzes the problem from the perspective of an application service provider that uses a cloud infrastructure to achieve scalable provisioning of its services in the respect of QoS constraints. In the specific, we propose four architectural schemas for autonomic resource management of cloud-based systems. The proposed solutions, differing for the degree of control on the autonomic cycle phases, have been designed considering: (1) functional requirements dictated by the resource provisioning solutions proposed in literature; and (2) services currently offered by public IaaS providers. Finally, we propose an implementation of our solution based on Amazon EC2.