A Modelling Language to Support the Evolution of Multi-tenant Cloud Data Architectures

Multi-tenant data architectures enable efficient resource utilization in cloud applications, but are currently being implemented in industry and research using manual coding techniques that tend to be time consuming and error prone. We propose a novel domain-specific modeling language, CadaML, to automatically manage the development and evolution of cloud data architectures that (a) adopt multi-tenancy and/or (b) comprise of a combination of different storage solutions such as relational and non-relational databases, and blob storage. CadaML provides concepts and notations to support abstract modelling of a multi-tenant data architecture, and also provides tools to validate the data architecture and automatically produce application code. We rigorously evaluate CadaML through a user experiment where developers of various capabilities are asked to re-architect the data layer of an industrial business process analysis application. We observe that CadaML users required 3.5x less development time than manual coders. In addition to improved productivity, CadaML users highlighted other benefits gained in terms of reliability of generated code and usability.

[1]  N. B. Anuar,et al.  The rise of "big data" on cloud computing: Review and open research issues , 2015, Inf. Syst..

[2]  Cor-Paul Bezemer,et al.  Multi-tenant SaaS applications: maintenance dream or nightmare? , 2010, IWPSE-EVOL '10.

[3]  Manuel Wimmer,et al.  The Evolution of CloudML and its Applications , 2015, CloudMDE@MoDELS.

[4]  Judith Kelner,et al.  CloudML: An Integrated Language for Resource, Service and Request Description for D-Clouds , 2011, 2011 IEEE Third International Conference on Cloud Computing Technology and Science.

[5]  Daniel M. Batista,et al.  A Survey of Large Scale Data Management Approaches in Cloud Environments , 2011, IEEE Communications Surveys & Tutorials.

[6]  Ta'id Holmes Automated Provisioning of Customized Cloud Service Stacks using Domain-Specific Languages , 2014, CloudMDE@MoDELS.

[7]  Mahmoud Al-Qutayri,et al.  SaaS Dynamic Evolution Based on Model-Driven Software Product Lines , 2014, 2014 IEEE 6th International Conference on Cloud Computing Technology and Science.

[8]  Brice Morin,et al.  Managing multi-cloud systems with CloudMF , 2013, NordiCloud '13.

[9]  Ladan Tahvildari,et al.  Stratus ML: A Layered Cloud Modeling Framework , 2015, 2015 IEEE International Conference on Cloud Engineering.

[10]  Sami Bhiri,et al.  Supporting Multi Data Stores Applications in Cloud Environments , 2016, IEEE Transactions on Services Computing.

[11]  Jon Whittle,et al.  Using DSML for Handling Multi-tenant Evolution in Cloud Applications , 2017, 2017 IEEE International Conference on Cloud Computing Technology and Science (CloudCom).

[12]  James R. Hamilton,et al.  On Designing and Deploying Internet-Scale Services , 2007, LISA.

[13]  Yehia El-khatib Mapping Cross-Cloud Systems: Challenges and Opportunities , 2016, HotCloud.

[14]  Jon Whittle,et al.  Model-driven engineering for multi-tenant SaaS application development , 2016, CrossCloud@EuroSys.

[15]  Wouter Joosen,et al.  Comparing PaaS offerings in light of SaaS development , 2013, Computing.

[16]  Rabeb Mizouni,et al.  Towards Software Product Lines Based Cloud Architectures , 2014, 2014 IEEE International Conference on Cloud Engineering.

[17]  Yehia Taher,et al.  Blueprint Template Support for Engineering Cloud-Based Services , 2011, ServiceWave.

[18]  Gerti Kappel,et al.  From Architecture Modeling to Application Provisioning for the Cloud by Combining UML and TOSCA , 2016, CLOSER.

[19]  Radu Calinescu,et al.  Cloud DSL: A Language for Supporting Cloud Portability by Describing Cloud Entities , 2014, CloudMDE@MoDELS.

[20]  Frank Leymann,et al.  Variability modeling to support customization and deployment of multi-tenant-aware Software as a Service applications , 2009, 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems.

[21]  Oliver Kopp,et al.  TOSCA: Portable Automated Deployment and Management of Cloud Applications , 2014, Advanced Web Services.

[22]  Dimka Karastoyanova,et al.  Decision Support for the Migration of the Application Database Layer to the Cloud , 2013, 2013 IEEE 5th International Conference on Cloud Computing Technology and Science.

[23]  Yehia El-khatib,et al.  CadaML: A Modeling Language for Multi-Tenant Cloud Application Data Architectures , 2019, 2019 IEEE 12th International Conference on Cloud Computing (CLOUD).