Current research and practice of systems engineering is seeing substantial interest in the idea of cloud computing. The advantages of the cloud model are manifold, including potential cost savings for users, virtually limitless scalability, and greener IT because of reduced energy consumption. There is some existing research work available on how to initially deploy applications to the cloud. Furthermore, recent national and international research projects have started to investigate application migration between different cloud providers. However, currently, mechanisms to further manage cloud applications at runtime, with regard to application performance as well as costs, are not well understood. One existing and promising approach for managing complex distributed systems is the idea of autonomic computing, which enables systems to heal, protect, optimize and adapt autonomously using a cycle of monitoring, analysis, planning and execution (referred to as the MAPE loop of autonomic computing). We consider autonomy as a vital characteristic of long-lived cloud applications, as continuously and manually monitoring and adapting applications in the highly dynamic cloud computing environment is complex and highly error-prone.
This project addresses this core problem (runtime management of cloud applications) in the area of cloud computing, by striving for an autonomic management approach based on the idea of the MAPE loop. This includes monitoring the application at runtime, predicting future performance based on monitoring data, decide if improvements are possible using other cloud services, and, if this is the case, either migrate to a different service, or use the current cloud service (combination) with different configuration. For monitoring, we plan to investigate the applicability of complex event processing to generic monitoring of different types of cloud applications. The estimation algorithms that are to be devised within AUTO-Cloud are likely to be based on machine learning and time series analysis principles. Finally, the project will propose programming techniques and methodologies for building provider-independent, abstract, cloud applications, which will enable re-deployed and application migration at runtime.
With its focus on autonomic properties of cloud application management, the AUTO-Cloud project will address some of the core needs of cloud computing researchers and engineers striving to build long-lived cloud applications. The project will contribute significantly to the state of research in performance and cost estimation of cloud applications, generic cloud application monitoring, and runtime migration. Furthermore, the project aims at leveraging and integrating existing knowledge from different research domains into a coherent framework, in order to prevent the wheel from being re-invented.