Automated Planning to Support the Deployment and Management of Applications in Cloud Environments
Abstract: Cloud computing has enabled myriad of applications to benefit from dynamic provisioning of resources. These applications must adjust their resources in response to changes in the environment in order to satisfy business-defined goals about service quality. However, engineering decision-making mechanisms to help the deployment and management of resources in cloud contexts is a challenging task. In fact, cloud applications call for automated mechanisms that: (1) explore efficiently large solution spaces (defined by the combination of machine types, provisioning actions, and state transitions expected in the temporal horizon); (2) generate deliberate plans to operate the system in a way that satisfies requirements, maximizes performance and minimizes operational costs; and (3) support the definition and revision of policies to adapt the system under expected conditions. Automated Planning, the area of artificial intelligence concerned with synthesizing plans of actions to achieve a goal, offers opportunities to address these challenges. This thesis focuses on the design and evaluation of approaches that exploit automated planning to support the deployment and management of applications running in cloud environments. To this purpose, this thesis presents three contributions: (1) a solution to the (offline) generation of reactive policies, that exploits temporal planning languages and tools to support the definition and revision of policies, applicable under common conditions; (2) a solution to the (online) generation of proactive plans, that takes advantage of longterm temporal planning and behavioral predictions to reconfigure interactive applications; and (3) a solution to the (offline) generation of execution policies, that resorts to probabilistic planning to deal with the uncertainty caused by spot instance revocations in the deployment of workflow applications. These proposals have been evaluated using realistic case studies of elastic scaling and workflow executions in the cloud. Results support the claim that automated decision-making mechanisms that rely on planning are scalable and responsive, and able to guide the system to satisfy requirements, optimize performance and minimize operational costs.