CloudCAMP : A Model-driven Generative Approach for Automating Cloud Application Deployment and Management

Businesses today are moving their infrastructure to the cloud environment to reduce their IT budgets and improve compliance to regulatory control. By using the cloud, industries also aim to deploy and deliver new applications and services rapidly with the ability to scale their applications horizontally and vertically to meet customer demands. Despite these trends, reliance on old school IT management and administration has left a legacy of poor manageability and inflexible infrastructure. In this realm, the DevOps community has made available various tools for deployment, management, and orchestration of complex, distributed cloud applications. Despite these modern trends, the continued reliance on old school IT management and administration methods have left a majority of developers lacking with the domain expertise to create, provision and manage complex IT environments using abstracted, script-centric approaches provided by DevOps tools. To address these challenges while emphasizing vendor-agnostic approaches for broader applicability, we present a model-driven generative approach that is compliant with the TOSCA specification where the users can model their business-relevant models, requiring only little domain expertise. In this context, the paper describes the metamodel of the domain-specific language that abstracts the business-relevant application requirements to generate the corresponding fully deployable infrastructure-as-code solutions, which can deploy, run, and manage the applications in the cloud environment. Our work is focused on realizing a high-performance deployment and management platform for cloud applications with an emphasis on extensibility, (re)usability, and scalability. We validate our approach by a prototypical application model and present a user study to evaluate its relevance.

[1]  Danilo Ardagna,et al.  Supporting the Development and Operation of Multi-cloud Applications: The MODAClouds Approach , 2013, 2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[2]  Emina Torlak,et al.  Kodkod: A Relational Model Finder , 2007, TACAS.

[3]  Sharad Malik,et al.  Declarative Infrastructure Configuration Synthesis and Debugging , 2008, Journal of Network and Systems Management.

[4]  Frank Leymann,et al.  The SePaDe System: Packaging Entire XaaS Layers for Automatically Deploying and Managing Applications. , 2017, CLOSER 2017.

[5]  Roberto Di Cosmo,et al.  Automated synthesis and deployment of cloud applications , 2014, ASE.

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

[7]  Oliver Kopp,et al.  Integrated Cloud Application Provisioning: Interconnecting Service-Centric and Script-Centric Management Technologies , 2013, OTM Conferences.

[8]  Gianluigi Zavattaro,et al.  A Planning Tool Supporting the Deployment of Cloud Applications , 2013, 2013 IEEE 25th International Conference on Tools with Artificial Intelligence.

[9]  Roberto Di Cosmo,et al.  Automatic Deployment of Services in the Cloud with Aeolus Blender , 2015, ICSOC.

[10]  Antonio Brogi,et al.  TOSCA in a Nutshell: Promises and Perspectives , 2014, ESOCC.

[11]  Rajkumar Buyya,et al.  High-Performance Cloud Computing: A View of Scientific Applications , 2009, 2009 10th International Symposium on Pervasive Systems, Algorithms, and Networks.

[12]  Ioannis Konstantinou,et al.  CELAR: Automated application elasticity platform , 2014, 2014 IEEE International Conference on Big Data (Big Data).

[13]  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).

[14]  Tamar Eilam,et al.  Pattern-based composite application deployment , 2011, 12th IFIP/IEEE International Symposium on Integrated Network Management (IM 2011) and Workshops.

[15]  Rupak Majumdar,et al.  Engage: a deployment management system , 2012, PLDI '12.

[16]  Oliver Kopp,et al.  Combining Declarative and Imperative Cloud Application Provisioning Based on TOSCA , 2014, 2014 IEEE International Conference on Cloud Engineering.

[17]  Jie Qiu,et al.  The Method and Tool of Cost Analysis for Cloud Computing , 2009, 2009 IEEE International Conference on Cloud Computing.

[18]  Oliver Kopp,et al.  Context-aware Cloud Application Management , 2014, CLOSER.

[19]  Michael H. Kalantar,et al.  Model Driven Provisioning: Bridging the Gap Between Declarative Object Models and Procedural Provisioning Tools , 2006, Middleware.

[20]  James Loope Managing Infrastructure with Puppet , 2011 .

[21]  Marin Litoiu,et al.  Pattern-Based Deployment Service for Next Generation Clouds , 2013, 2013 IEEE Ninth World Congress on Services.

[22]  Doubletree Hotel San Jose,et al.  The World's Most Popular Open Source Database , 2003 .

[23]  Carrasco Jose,et al.  Bidimensional Cross-Cloud Management with TOSCA and Brooklyn , 2016 .

[24]  Rajkumar Buyya,et al.  Article in Press Future Generation Computer Systems ( ) – Future Generation Computer Systems Cloud Computing and Emerging It Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility , 2022 .

[25]  Yogesh D. Barve,et al.  PADS: Design and Implementation of a Cloud-Based, Immersive Learning Environment for Distributed Systems Algorithms , 2018, IEEE Transactions on Emerging Topics in Computing.

[26]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[27]  Pascal Hirmer,et al.  Automatic Topology Completion of TOSCA-based Cloud Applications , 2014, GI-Jahrestagung.

[28]  Miklós Maróti,et al.  Next Generation (Meta)Modeling: Web- and Cloud-based Collaborative Tool Infrastructure , 2014, MPM@MoDELS.

[29]  Mohsine Eleuldj,et al.  OpenStack: Toward an Open-source Solution for Cloud Computing , 2012 .

[30]  Simon Moser,et al.  Topology and Orchestration Specification for Cloud Applications Version 1.0 , 2013 .

[31]  Suchismita Hoare,et al.  A study of the state-of-the-art of PaaS interoperability , 2016, EASE.

[32]  John Sharp,et al.  Cloud Design Patterns: Prescriptive Architecture Guidance for Cloud Applications , 2014 .

[33]  Frank Leymann,et al.  An architectural pattern language of cloud-based applications , 2011, PLoP '11.

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

[35]  Douglas C. Schmidt,et al.  Model-driven auto-scaling of green cloud computing infrastructure , 2012, Future Gener. Comput. Syst..