Declarative vs . Imperative : Two Modeling Patterns for the Automated Deployment of Applications

In the field of cloud computing, the automated deployment of applications is of vital importance and supported by diverse management technologies. However, currently there is no systematic knowledge collection that points out commonalities, capabilities, and differences of these approaches. This paper aims at identifying common modeling principles employed by technologies to create automatically executable models that describe the deployment of applications. We discuss two fundamental approaches for modeling the automated deployment of applications: imperative procedural models and declarative models. For these two approaches, we identified (i) basic pattern primitives and (ii) documented these approaches as patterns that point out frequently occurring problems in certain contexts including proven modeling solutions. The introduced patterns foster the understanding of common application deployment concepts, are validated regarding their occurrence in established state-of-theart technologies, and enable the transfer of that knowledge. Keywords–Modeling Patterns; Application Deployment and Management; Automation; Cloud Computing.

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

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

[3]  Oliver Kopp,et al.  BPMN4TOSCA: A Domain-Specific Language to Model Management Plans for Composite Applications , 2012, BPMN.

[4]  Oliver Kopp,et al.  Pattern-based Runtime Management of Composite Cloud Applications , 2013, CLOSER.

[5]  Oliver Kopp,et al.  OpenTOSCA - A Runtime for TOSCA-Based Cloud Applications , 2013, ICSOC.

[6]  René Reiners,et al.  An Evolving Pattern Library for Collaborative Project Documentation , 2014 .

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

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

[9]  Andreas Fießer,et al.  How to write a pattern?: a rough guide for first-time pattern authors , 2011, EuroPLoP.

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

[11]  Frank Leymann,et al.  Building a robust workflow management system with persistent queues and stored procedures , 1998, Proceedings 14th International Conference on Data Engineering.

[12]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[13]  F. Leymann,et al.  Efficient Pattern Application: Validating the Concept of Solution Implementations in Different Domains , 2015 .

[14]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[15]  Oliver Kopp,et al.  A Domain-Specific Modeling Tool to Model Management Plans for Composite Applications , 2015, ZEUS.

[16]  Ralph Mietzner A method and implementation to define and provision variable composite applications, and its usage in cloud computing , 2010 .

[17]  Frank Leymann,et al.  Service Migration Patterns -- Decision Support and Best Practices for the Migration of Existing Service-Based Applications to Cloud Environments , 2013, 2013 IEEE 6th International Conference on Service-Oriented Computing and Applications.

[18]  Frank Leymann,et al.  From Pattern Languages to Solution Implementations , 2014 .

[19]  Frank Leymann,et al.  A process for pattern identification, authoring, and application , 2014, EuroPLoP.

[20]  Frank Leymann,et al.  Pattern-Based Development and Management of Cloud Applications , 2012, Future Internet.

[21]  Uwe Zdun,et al.  A catalog of architectural primitives for modeling architectural patterns , 2008, Inf. Softw. Technol..

[22]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture Volume 1: A System of Patterns , 1996 .

[23]  Frank Leymann,et al.  Production Workflow: Concepts and Techniques , 1999 .

[24]  Christian Endres,et al.  A pattern language for modeling the provisioning of applications , 2015 .