Description and evaluation of elasticity strategies for business processes in the Cloud. (Description et évaluation de stratégies d'élasticité des processus métiers dans le Cloud)

In the recent years, growing attention has been paid to the concept of Cloud Computing as a new computing paradigm for executing and handling business processes in an efficient and cost-effective way. Cloud Computing's elasticity and its flexibility in service delivery are the most important features behind this attention which encourage companies to migrate their operation/processes to the cloud to ensure the required Quality of Service (QoS) while using resources and reduce their expenses. Elasticity management has been considered as a pivotal issue among IT community that works on finding the right tradeoffs between QoS levels and operational costs by developing novel methods and mechanisms. However, controlling process elasticity and defining non-trivial elasticity strategies are still challenging tasks. Also, despite the growing attention paid to the cloud and its elasticity property in particular, there is still a lack of solutions that support the evaluation of elasticity strategies used to ensure the elasticity of business processes at servicelevel before using them in real cloud environments. In this thesis, a framework for describing and evaluating elasticity strategies for service-based business processes (SBPs) is proposed. Starting from representing elastic SBPs, a formal elasticity approach is proposed to allow the evaluation of elasticity strategies before using them in the cloud. The proposed approach is composed of (i) a formal model, that describes elastic execution environments for SBPs while considering the distinguish requirements for services requests, and (ii) elasticity operations/capabilities for hybrid scaling that are defined and formalized to illustrate their application on the model to ensure its elasticity. The proposed model is defined based on high-level petri nets to describe not only the characteristics of service engines, hosting SBPs services, but also the characteristics of their requests that allows defining more sophisticated elasticity strategies. After modeling SBPs elasticity for the purpose of evaluating elasticity strategies, two domain-specific languages, named STRATModel and STRAT, are designed to be used together to describe elasticity strategies for different elasticity models. STRATModel language allows describing elasticity models with different elasticity capabilities and generating their associated elasticity controllers that are used to manage SBPs elasticity and evaluate strategies. Based on STRATModel language, STRAT language is designed to allow specifying elasticity strategies governing SBP elasticity according to a given elasticity model written using STRATModel language. With the formal model and the designed languages as basis, a framework, named STRATFram, is proposed in order to provide SBPs holders a support on which they can describe and evaluate their elasticity strategies before investing in using them in the cloud. The evaluation consists in providing a set of plots that allows the analysis and the comparison of strategies. Our contributions and developments provide SBP holders with facilities to choose elasticity strategies that fit to their elastic SBPs and usage behaviors. To my family, my parents, for their unconditional love and support