Supporting Multiple Persistence Models for PaaS Applications using MDE - Issues on Cloud Portability

In cloud computing, lock-in refers to the difficulty of porting an application from one platform to another. An example of such difficulty can be witnessed when porting an application from Platform-as-a-Service Google App Engine to Microsoft Azure. Differences in their implementations are substantial, yielding non-portable applications. Standardization could address this problem, but existing initiatives are still to be accepted. This paper addresses lock-in by proposing a model-driven engineering design approach that decouples platform specific code from the application logic. The resulting platform-independent models, as well as corresponding model transformations, can be reused to generate distinct platform-specific implementations, hence reducing the programming effort spent coding repetitive tasks. Such transformations can be made available for reuse on a repository for cloud providers. We have implemented transformations to handle persistence for Google App Engine and Azure, and discuss how model-driven engineering can reconcile the differences between features of the persistence models of GAE and Azure.

[1]  Dana Petcu,et al.  Portability in clouds: approaches and research opportunities , 2014, Scalable Comput. Pract. Exp..

[2]  Ian Sommerville,et al.  Decision Support Tools for Cloud Migration in the Enterprise , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[3]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[4]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

[5]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[6]  Carlos Canal,et al.  Development of Adaptive Multi-cloud Applications - A Model-Driven Approach , 2016, MODELSWARD.

[7]  Dana Petcu Portability and Interoperability between Clouds: Challenges and Case Study - (Invited Paper) , 2011, ServiceWave.

[8]  Chin Kuan Ho,et al.  Design Patterns to Enable Data Portability between Clouds' Databases , 2012, 2012 12th International Conference on Computational Science and Its Applications.

[9]  Yizeng Chen,et al.  Overview and analysis of cloud computing research and application , 2011, 2011 International Conference on E-Business and E-Government (ICEE).

[10]  Ritu Sharma,et al.  Modeling Cloud SaaS with SOA and MDA , 2011, ACC.

[11]  Parastoo Mohagheghi,et al.  Software Engineering Challenges for Migration to the Service Cloud Paradigm: Ongoing Work in the REMICS Project , 2011, 2011 IEEE World Congress on Services.

[12]  Danilo Ardagna,et al.  An Approach for the Development of Portable Applications on PaaS Clouds , 2013, CLOSER.

[13]  Douglas C. Schmidt,et al.  Model-Driven Engineering , 2006 .

[14]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[15]  Jordi Cabot,et al.  Model-Driven Software Engineering in Practice , 2017, Synthesis Lectures on Software Engineering.

[16]  Dana Petcu,et al.  Portable Cloud applications - From theory to practice , 2013, Future Gener. Comput. Syst..

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

[18]  Renata Pontin de Mattos Fortes,et al.  Towards a model-driven approach for promoting cloud PaaS portability , 2013, 2013 XXXIX Latin American Computing Conference (CLEI).

[19]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[20]  Amit P. Sheth,et al.  Semantics Centric Solutions for Application and Data Portability in Cloud Computing , 2010, 2010 IEEE Second International Conference on Cloud Computing Technology and Science.

[21]  Dana Petcu,et al.  MODAClouds: A model-driven approach for the design and execution of applications on multiple Clouds , 2012, 2012 4th International Workshop on Modeling in Software Engineering (MISE).

[22]  Natalia Juristo Juzgado,et al.  Basics of Software Engineering Experimentation , 2010, Springer US.

[23]  Michael Lawley,et al.  Model Synchronisation: Definitions for Round-Trip Engineering , 2008, ICMT@TOOLS.

[24]  Michal Antkiewicz,et al.  Framework-Specific modeling languages with round-trip engineering , 2006, MoDELS'06.

[25]  Walter F. Tichy,et al.  Should Computer Scientists Experiment More? , 1998, Computer.

[26]  Parastoo Mohagheghi,et al.  Where Is the Proof? - A Review of Experiences from Applying MDE in Industry , 2008, ECMDA-FA.