Model-Based Availability Evaluation of Multi-Cloud Applications
thesisposted on 24.02.2014 by Giovanni Paolo Gibilisco
In order to distinguish essays and pre-prints from academic theses, we have a separate category. These are often much longer text based documents than a paper.
The emergence of Cloud computing architectures in last years has changed the way applications are delivered to users. Cloud Computing offers a cost effective solution to the problem of resource provisioning by giving developers access to a virtually infinite pool of resources in a matter of minutes. The scaling capability of Cloud providers allows companies to change the size of their virtual IT infrastructure according to their needs. One of the major problems faced by companies when deciding to move to a Cloud environment is the loss of control on the management of the IT infrastructure. Companies are worried of outages that can not be directly kept under control. In order to cope with this problem Cloud providers offer service level agreements with their users by explicitly quoting the availability that they guarantee to provide. Many Cloud providers offer a service level agreement availability value of 99.95%. Real data shows that the availability that Cloud users experience from their providers is much lower and in the order of 95%. In order to fulfil the availability requirement developers could replicate their application on multiple Clouds. This thesis targets applications whose components are redundantly deployed on multiple Clouds at the same time. The aim of this thesis is to help developers to evaluate the availability impact of their design choices early during the development process. We present an extension to the Palladio-Bench modelling framework for the description of availability requirements of Multi-Cloud applications. The extended Palladio component model is automatically translated into a Discrete Time Markov Chain that has been extended in order to model some peculiarities of the Cloud environment. This model is used to analyze the availability characteristics of applications and their ability to fulfil the stated requirements. Such analysis is achieved through a simulation tool implemented in Matlab capable of analyzing the model against user defined environment changes in order to retrieve availability measures for the entire system. Characteristics that define the simulated scenario includes application workload, components availability, costs and service rates. This work has been developed in the context of the MODAClouds European project