Authors:
Elias Adriano Nogueira da Silva
1
;
Daniel Lucrédio
2
;
Ana Moreira
3
and
Renata Fortes
1
Affiliations:
1
University of São Paulo, Brazil
;
2
Federal University of São Carlos, Brazil
;
3
Universidade Nova De Lisboa, Portugal
Keyword(s):
Cloud Computing, Model-Driven Engineering, Platform-as-a-Service, Portability, Persistence
Related
Ontology
Subjects/Areas/Topics:
Cloud Application Portability
;
Cloud Computing
;
Cloud Delivery Models
;
Development Methods for Cloud Applications
;
Fundamentals
;
Model-Driven Web Service Engineering
;
Platforms and Applications
;
Services Science
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, an
d discuss how model-driven engineering can reconcile the differences between features of the persistence models of GAE and Azure.
(More)