TY - GEN
T1 - Using model-driven development to support portable PaaS applications
AU - Nogueira, Elias
AU - Lucrédio, Daniel
AU - Moreira, Ana
AU - Fortes, Renata
N1 - FAPESP (processes 2012/24487-3 and 2012/04549-4), Coordination of Superior Level Staff Improvement - CAPES and Brazil-Europe Erasmus Mundus project (process BM13DM0002) for partially funding this research.
Sem PDF.
PY - 2016
Y1 - 2016
N2 - Context: In cloud computing, lock-in refers to the difficulty of porting an application and/or data from one cloud platform to another. Current attempts to address this problem revolve around standardization of APIs and frameworks. We propose a different path, using model-driven engineering (MDE). Objective: Our goal is to build a repository of MDE transformations and use code generation to reduce the development effort for each platform, thus reducing repetitive programing tasks, increasing portability and minimizing lock-in side-effects. Method: To attain this objective, we developed an MDE approach to handle persistence for Google App Engine and Azure, and discuss how MDE can reconcile the differences between features of each platform persistence model. A controlled experiment has been performed to evaluate the proposal, in which subjects were asked to use two versions of the same application implemented using our MDE approach. Both versions, one for each platform, were generated from the same domain model. Results: According to the subjects, no differences in functionality were perceptible between the two versions. Indeed, applications were more easily ported between the two chosen cloud providers without noticeable differences in terms of persistence functionality. Conclusion: The main contribution of our work is to show that there is an alternative path to the standardization of cloud technologies. MDE can increase the portability of the applications by reducing the negative impacts of lock-in. A limitation of our approach, that is inherent to most MDE approaches, is that if the generated code needs to be adapted or modified, the MDE life-cycle can be broken. Changes in the generated code have to be replicated, either in the models or in the transformations, which is not a trivial task.
AB - Context: In cloud computing, lock-in refers to the difficulty of porting an application and/or data from one cloud platform to another. Current attempts to address this problem revolve around standardization of APIs and frameworks. We propose a different path, using model-driven engineering (MDE). Objective: Our goal is to build a repository of MDE transformations and use code generation to reduce the development effort for each platform, thus reducing repetitive programing tasks, increasing portability and minimizing lock-in side-effects. Method: To attain this objective, we developed an MDE approach to handle persistence for Google App Engine and Azure, and discuss how MDE can reconcile the differences between features of each platform persistence model. A controlled experiment has been performed to evaluate the proposal, in which subjects were asked to use two versions of the same application implemented using our MDE approach. Both versions, one for each platform, were generated from the same domain model. Results: According to the subjects, no differences in functionality were perceptible between the two versions. Indeed, applications were more easily ported between the two chosen cloud providers without noticeable differences in terms of persistence functionality. Conclusion: The main contribution of our work is to show that there is an alternative path to the standardization of cloud technologies. MDE can increase the portability of the applications by reducing the negative impacts of lock-in. A limitation of our approach, that is inherent to most MDE approaches, is that if the generated code needs to be adapted or modified, the MDE life-cycle can be broken. Changes in the generated code have to be replicated, either in the models or in the transformations, which is not a trivial task.
KW - Cloud computing
KW - Model-Driven Engineering
KW - Persistence
KW - Platformas-a-Service
KW - Portability
UR - http://www.scopus.com/inward/record.url?scp=84975744177&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-29582-4_7
DO - 10.1007/978-3-319-29582-4_7
M3 - Conference contribution
AN - SCOPUS:84975744177
SN - 9783319295817
VL - 581
T3 - Communications in Computer and Information Science
SP - 115
EP - 134
BT - Cloud Computing and Services Science - 3rd International Conference, CLOSER 2015, Revised Selected Papers
PB - Springer Verlag
T2 - 3rd International Conference on Cloud Computing and Services Science, CLOSER 2015
Y2 - 20 May 2015 through 22 May 2015
ER -