Cloud computing has become very popular in the last years due to its well documented benefits to organizations and individuals with respect to transferring capital to operational expenses, potentially unlimited access to computational resources in a self-service manner, and utility-based charging for the use of these resources. In this respect, cloud computing offers a platform for innovative information systems that are partially or completely implemented around cloud offerings.
Challenges in this effort arise from the Everything as a Service (*aaS) nature of the platform and the software that is to be developed for it, the volatility of the perceived performance due to its multi-tenant characteristics, the need for cost awareness during operation/execution, and the heterogeneous nature of available offerings for system distribution. These challenges need to be addressed irrespective of the adopted cloud deployment model (public, private, or hybrid), and of whether a system is developed natively on the cloud or migrated to it later.
Our research aims to provide the tools and concepts required for engineering software in this context.