Towards Elastic Component-Based Cloud Applications

In the context of cloud computing, elasticity refers to the capability of an application to automatically adapt its resource consumption to the current demand, i.e. scale out or scale in as the load increases or decreases. Today’s platform-as-aservice (PaaS) cloud solutions are strongly biased towards typical client/server,webbased applications. The provided runtime environments and services are thus only of limited help for building traditional business applications. In this paper, a vision of elastic component-based applications is presented that is aimed at supporting elasticity for arbitrary application designs. This vision is supported by a component-based programming model for allowing developers to specify application functionality in a cloud-enabled way and a runtime environment that supports the specification and automatic management of non-functional attributes, such as application response times. For both areas, the programming model as well as the management of nonfunctional attributes, the paper presents the challenges, an approach for realizing the ultimate vision, as well as our initial results.

[1]  Dan Pritchett,et al.  BASE: An Acid Alternative , 2008, ACM Queue.

[2]  Lakhmi C. Jain,et al.  Multiagent Systems and Applications - Volume 2: Development Using the GORITE BDI Framework , 2013, Intelligent Systems Reference Library.

[3]  David Stuart Robertson,et al.  Enacting the Distributed Business Workflows Using BPEL4WS on the Multi-agent Platform , 2005, MATES.

[4]  Randy H. Katz,et al.  A view of cloud computing , 2010, CACM.

[5]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

[6]  Rajkumar Buyya,et al.  Aneka Cloud Application Platform and Its Integration with Windows Azure , 2011, ArXiv.

[7]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[8]  Franz J. Hauck,et al.  Component-based scalability for cloud applications , 2013, CloudDP '13.

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

[10]  Milind Kulkarni,et al.  EventWave: programming model and runtime support for tightly-coupled elastic cloud applications , 2013, SoCC.

[11]  Kai Jander,et al.  The Jadex Project: Programming Model , 2013, Multiagent Systems and Applications - Volume 1.

[12]  Arshdeep Bahga,et al.  Rapid Prototyping of Multitier Cloud-Based Services and Systems , 2013, Computer.

[13]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[14]  Dana Petcu,et al.  Towards component-based software engineering of cloud applications , 2012, WICSA/ECSA Companion Volume.

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

[16]  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.

[17]  Chandra Krintz,et al.  The AppScale Cloud Platform: Enabling Portable, Scalable Web Application Deployment , 2013, IEEE Internet Computing.

[18]  Koen V. Hindriks,et al.  Do You Get It? User-Evaluated Explainable BDI Agents , 2010, MATES.

[19]  Horacio González-Vélez,et al.  A survey on statistical disclosure control and micro-aggregation techniques for secure statistical databases , 2010 .

[20]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[21]  Lars Braubach,et al.  The active components approach for distributed systems development , 2013, Int. J. Parallel Emergent Distributed Syst..

[22]  Michael E. Bratman,et al.  Intention, Plans, and Practical Reason , 1991 .

[23]  Robert B. Miller,et al.  Response time in man-computer conversational transactions , 1899, AFIPS Fall Joint Computing Conference.