Automating the Deployment of Distributed Applications by Combining Multiple Deployment Technologies

Various deployment technologies have been released to support automating the deployment of distributed applications. Although many of these technologies provide general-purpose functionalities to deploy applications as well as infrastructure components, different technologies provide specific capabilities making them suited for different environments and application types. As a result, the deployment of complex distributed applications often requires to combine several deployment technologies expressed by different deployment models. Thus, multiple deployment models are processed by different technologies and must be either orchestrated manually or the automated orchestration must be developed individually. To address these challenges, we present an approach (i) to annotate parts of a holistic deployment model that should be deployed with different deployment technologies, (ii) to automatically transform an annotated model to multiple technologyspecific models for different technologies, and (iii) to automatically coordinate the deployment execution with different technologies by employing a centralized orchestrator component. To prove the practical feasibility of the approach, we describe a case study based on a third-party application.

[1]  Gerti Kappel,et al.  A Systematic Review of Cloud Modeling Languages , 2018, ACM Comput. Surv..

[2]  Frank Leymann,et al.  Decentralized Cross-organizational Application Deployment Automation: An Approach for Generating Deployment Choreographies Based on Declarative Deployment Models , 2020, CAiSE.

[3]  Frank Leymann,et al.  Middleware-Oriented Deployment Automation for Cloud Applications , 2018, IEEE Transactions on Cloud Computing.

[4]  Carlos Canal,et al.  A service-oriented framework for developing cross cloud migratable software , 2013, J. Syst. Softw..

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

[6]  Frank Leymann,et al.  Integrating Configuration Management with Model-driven Cloud Management based on TOSCA , 2013, CLOSER.

[7]  Antonio Brogi,et al.  Technology-Agnostic Declarative Deployment Automation of Cloud Applications , 2020, ESOCC.

[8]  Antonio Puliafito,et al.  Automating the Deployment of Multi-Cloud Applications in Federated Cloud Environments , 2017, VALUETOOLS.

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

[10]  Oliver Kopp,et al.  Declarative vs . Imperative : Two Modeling Patterns for the Automated Deployment of Applications , 2017 .

[11]  Archana Ganapathi,et al.  Why Do Internet Services Fail, and What Can Be Done About It? , 2002, USENIX Symposium on Internet Technologies and Systems.

[12]  Antonio Brogi,et al.  Fault-aware management protocols for multi-component applications , 2018, J. Syst. Softw..

[13]  Yan Liu,et al.  Model Driven Deployment of Auto-Scaling Services on Multiple Clouds , 2018, 2018 IEEE International Conference on Software Architecture Companion (ICSA-C).

[14]  Bruno Volckaert,et al.  Orchestrator conversation: Distributed management of cloud applications , 2018, Int. J. Netw. Manag..

[15]  Oliver Kopp,et al.  Winery - A Modeling Tool for TOSCA-Based Cloud Applications , 2013, ICSOC.

[16]  Antonio Brogi,et al.  Component‐aware orchestration of cloud‐based enterprise applications, from TOSCA to Docker and Kubernetes , 2020, Softw. Pract. Exp..

[17]  Frank Leymann,et al.  The essential deployment metamodel: a systematic review of deployment automation technologies , 2019, SICS Software-Intensive Cyber-Physical Systems.

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

[19]  Walid Gaaloul,et al.  Model-Driven Orchestration for Cloud Resources , 2019, 2019 IEEE 12th International Conference on Cloud Computing (CLOUD).

[20]  Antonio Brogi,et al.  The EDMM Modeling and Transformation System , 2019, ICSOC Workshops.

[21]  Martin Garriga,et al.  Adoption, Support, and Challenges of Infrastructure-as-Code: Insights from Industry , 2019, 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME).

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

[23]  Frank Leymann,et al.  TOSCA Light: Bridging the Gap between the TOSCA Specification and Production-ready Deployment Technologies , 2020, CLOSER.

[24]  Jörg Domaschka,et al.  The cloud application modelling and execution language , 2019, Journal of Cloud Computing.

[25]  Dana Petcu,et al.  Model-Driven Development and Operation of Multi-Cloud Applications: The MODAClouds Approach , 2017 .

[26]  Gerhard Wickler,et al.  Automated Planning for Configuration Changes , 2011, LISA.

[27]  Oliver Kopp,et al.  Method, formalization, and algorithms to split topology models for distributed cloud application deployments , 2019, Computing.

[28]  Antonio Brogi,et al.  EU Project SeaClouds - Adaptive Management of Service-based Applications Across Multiple Clouds , 2014, CLOSER.

[29]  Zoltán Ádám Mann,et al.  Specification of cloud topologies and orchestration using TOSCA: a survey , 2019, Computing.

[30]  Jörg Domaschka,et al.  The cloud application modelling and execution language (CAMEL) , 2017 .