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

Elias Adriano Nogueira da Silva, Daniel Lucrédio, Ana Moreira, Renata Fortes

2015

Abstract

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.

References

  1. Alkhatib, H., Faraboschi, P., Frachtenberg, E., Kasahara, H., Lange, D., Laplante, P., Merchant, A., Milojicic, D., and Schwan, K. (2014). IEEE CS 2022 Report.
  2. Antkiewicz, M. and Czarnecki, K. (2006). Frameworkspecific modeling languages with round-trip engineering. Model Driven Engineering Languages and Systems, pages 692-706.
  3. Ardagna, D., Di Nitto, E., Mohagheghi, P., Mosser, S., Ballagny, C., D'Andria, F., Casale, G., Matthews, P., Nechifor, C.-S., Petcu, D., and Others (2012). Modaclouds: A model-driven approach for the design and execution of applications on multiple clouds. In Modeling in Software Engineering (MISE), 2012 ICSE Workshop on, pages 50-56. IEEE.
  4. Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A., Stoica, I., and Zaharia, M. (2009). Above the clouds: A Berkeley view of cloud computing. Dept. Electrical Eng. and Comput. Sciences, University of California, Berkeley, Rep. UCB/EECS, 28.
  5. Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A., Stoica, I., and Zaharia, M. (2010). A view of cloud computing. Commun. ACM, 53(4):50-58.
  6. Bozman, J. (2010). Cloud Computing: The Need for Portability and Interoperability. IDC Analyze the Future, Sponsored by Red Hat, Inc.
  7. Brambilla, M., Cabot, J., and Wimmer, M. (2012). Modeldriven software engineering in practice. Synthesis Lectures on Software Engineering, 1(1):1-182.
  8. Chen, Y., Li, X., and Chen, F. (2011). Overview and analysis of cloud computing research and application. In E -Business and E -Government (ICEE), 2011 International Conference on, pages 1-4.
  9. da Silva, E. A. N., Fortes, R. P. M., and Lucredio, D. (2013). A Model-Driven Approach for Promoting Cloud PaaS Portability. In Anual International Conference on Software Engineering-CASCON.
  10. Deursen, V., , Klint, A., and Paul and Visser, J. (2000). Domain-specific languages: An annotated bibliography. ACM Sigplan Notices, 35(6):26-36.
  11. France, R. and Rumpe, B. (2007). Model-driven development of complex software: A research roadmap. In 2007 Future of Software Engineering, FOSE 7807, pages 37-54, Washington, DC, USA. IEEE Computer Society.
  12. Giove, F., Longoni, D., Yancheshmeh, M. S., Ardagna, D., and Di Nitto, E. (2013). An approach for the development of portable applications on paas clouds. Proceedings of CLOSER, pages 591-601.
  13. Hettel, T., Lawley, M., and Raymond, K. (2008). Model synchronisation: Definitions for round-trip engineering. Theory and Practice of Model Transformations, pages 31-45.
  14. Juristo, N. and Moreno, A. M. (2010). Basics of software engineering experimentation. Springer Publishing Company, Incorporated.
  15. Khajeh-Hosseini, A., Sommerville, I., Bogaerts, J., and Teregowda, P. (2011). Decision Support Tools for Cloud Migration in the Enterprise. In Cloud Computing (CLOUD), 2011 IEEE International Conference on, pages 541-548.
  16. Kleppe, A., Jos, W., and Wim, B. (2003). MDA Explained, The Model-Driven Architecture: Practice and Promise. Addison-Wesley.
  17. Miranda, J., Guillén, J., Murillo, J. M., and Canal, C. (2013). Development of Adaptive Multi-cloud Applications - A Model-Driven Approach. In Proceedings of the 1st International Conference on Model-Driven Engineering and Software Development, pages 321- 330. SciTePress - Science and and Technology Publications.
  18. Mohagheghi, P. and Dehlen, V. (2008). Where is the proof?- A review of experiences from applying MDE in industry. In Model Driven Architecture-Foundations and Applications, pages 432-443.
  19. Mohagheghi, P. and Sae andther, T. (2011). Software Engineering Challenges for Migration to the Service Cloud Paradigm: Ongoing Work in the REMICS Project. In Services (SERVICES), 2011 IEEE World Congress on, pages 507-514.
  20. Petcu, D. (2011). Portability and interoperability between clouds: challenges and case study. In Towards a Service-Based Internet, pages 62-74. Springer.
  21. Petcu, D., Macariu, G., Panica, S., and Cra?ciun, C. (2013). Portable cloud applications-from theory to practice. Future Generation Computer Systems, 29(6):1417 - 1430. Including Special sections: High Performance Computing in the Cloud & amp; Resource Discovery Mechanisms for fP2Pg Systems.
  22. Petcu, D. and Vasilakos, A. V. (2014). Portability in clouds: approaches and research opportunities. Scalable Computing: Practice and Experience, 15(3).
  23. Ranabahu, A. and Sheth, A. (2010). Semantics Centric Solutions for Application and Data Portability in Cloud Computing. In Cloud Computing Technology and Science (CloudCom), 2010 IEEE Second International Conference on, pages 234-241.
  24. Schmidt, D. C. (2006). Model-driven engineering. Computer-IEEE computer society-, 39(2):25.
  25. Sharma R., S. M. S. D. (2011). Modeling cloud SaaS with SOA and MDA. Communications in Computer and Information Science, 190 CCIS(PART 1):511-518.
  26. Shirazi, M. N., Kuan, H. C., and Dolatabadi, H. (2012). Design Patterns to Enable Data Portability between Clouds' Databases. In Computational Science and Its Applications (ICCSA), 2012 12th International Conference on, pages 117-120.
  27. Tichy, W. F. (1998). Should computer scientists experiment more? Computer, 31(5):32-40.
  28. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. (2000). Experimentation in software engineering: an introduction. Kluwer Academic Publishers, Norwell, MA, USA.
Download


Paper Citation


in Harvard Style

Adriano Nogueira da Silva E., Lucrédio D., Moreira A. and Fortes R. (2015). Supporting Multiple Persistence Models for PaaS Applications using MDE - Issues on Cloud Portability . In Proceedings of the 5th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER, ISBN 978-989-758-104-5, pages 331-342. DOI: 10.5220/0005441203310342


in Bibtex Style

@conference{closer15,
author={Elias Adriano Nogueira da Silva and Daniel Lucrédio and Ana Moreira and Renata Fortes},
title={Supporting Multiple Persistence Models for PaaS Applications using MDE - Issues on Cloud Portability},
booktitle={Proceedings of the 5th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,},
year={2015},
pages={331-342},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005441203310342},
isbn={978-989-758-104-5},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,
TI - Supporting Multiple Persistence Models for PaaS Applications using MDE - Issues on Cloud Portability
SN - 978-989-758-104-5
AU - Adriano Nogueira da Silva E.
AU - Lucrédio D.
AU - Moreira A.
AU - Fortes R.
PY - 2015
SP - 331
EP - 342
DO - 10.5220/0005441203310342