ElaScript: a DSL for coding elasticity in cloud computing

Some of the Cloud elasticity model's main shortcomings refer to the low reactivity due to resource granularity and large start up time at the infrastructure layer. In prior work, we advocate that the software layer may take part in the global elasticity process in order to cope with these shortcomings and hence achieve efficient Cloud elasticity. In this paper, we introduce ElaScript, a Domain Specific Language that offers Cloud administrators a simple and concise way to define complex elasticity-based reconfiguration plans. ElaScript is capable of dealing with both infrastructure and software elasticities, independently or together, in a coordinated way. We validate our approach by first showing the interest to have a Domain Specific Language offering multiple levels of control for Cloud elasticity, and then by showing its integration with a realistic well-known application benchmark deployed in OpenStack and Grid'5000 infrastructure testbed. Results show the benefits of using ElaScript, and consequently the elasticity at the software layer, to improve system's reactivity to environment's changes.

[1]  Daniel Moldovan,et al.  SYBL: An Extensible Language for Controlling Elasticity in Cloud Applications , 2013, 2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing.

[2]  Ivona Brandic,et al.  Performance-Based Vertical Memory Elasticity , 2015, 2015 IEEE International Conference on Autonomic Computing.

[3]  Alessandro Margara,et al.  Processing flows of information: From data stream to complex event processing , 2012, CSUR.

[4]  Samuel Kounev,et al.  Towards a Resource Elasticity Benchmark for Cloud Environments , 2014, HotTopiCS '14.

[5]  Carlo Ghezzi,et al.  Towards the formalization of properties of cloud-based elastic systems , 2014, PESOS 2014.

[6]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.

[7]  Samuel Kounev,et al.  Elasticity in Cloud Computing: What It Is, and What It Is Not , 2013, ICAC.

[8]  Thomas Ledoux,et al.  A Language Support for Cloud Elasticity Management , 2014, 2014 14th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[9]  Bradley R. Schmerl,et al.  Software Architecture-Based Self-Adaptation , 2009, Autonomic Computing and Networking.

[10]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[11]  Guilherme Galante,et al.  A Survey on Cloud Computing Elasticity , 2012, 2012 IEEE Fifth International Conference on Utility and Cloud Computing.

[12]  Karl-Erik Årzén,et al.  Brownout: building more robust cloud applications , 2014, ICSE.

[13]  Thomas Ledoux,et al.  Experimental Analysis on Autonomic Strategies for Cloud Elasticity , 2015, 2015 International Conference on Cloud and Autonomic Computing.

[14]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[15]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[16]  Gordon S. Blair,et al.  Models@ run.time , 2009, Computer.

[17]  Jörg Domaschka,et al.  SRL: A Scalability Rule Language for Multi-cloud Environments , 2014, 2014 IEEE 6th International Conference on Cloud Computing Technology and Science.