automating cloud application management using management ... - automating...automating cloud...

Download Automating Cloud Application Management Using Management ... - Automating...Automating Cloud Application Management Using Management Idioms ... {Automating Cloud Application Management

Post on 18-Mar-2018




2 download

Embed Size (px)


  • Institute of Architecture of Application Systems, University of Stuttgart, Germany,

    Automating Cloud Application Management Using Management Idioms

    Uwe Breitenbcher, Tobias Binz, Oliver Kopp, Frank Leymann

    The full version of this publication has been presented at PATTERNS 2014.

    Original Publication Reference:

    2014 Xpert Publishing Services

    @inproceedings{Breitenbuecher2014_Patterns, author = {Uwe Breitenb{\"u}cher and Tobias Binz and Oliver Kopp and Frank Leymann}, title = {Automating Cloud Application Management Using Management Idioms}, booktitle = {Proceedings of the Sixth International Conferences on Pervasive Patterns and Applications}, year = {2014}, pages = {60-69}, publisher = {Xpert Publishing Services (XPS)} }


    Institute of Architecture of Application Systems

  • Automating Cloud Application Management Using Management Idioms

    Uwe Breitenbucher, Tobias Binz, Oliver Kopp, Frank LeymannInstitute of Architecture of Application Systems

    University of Stuttgart, Stuttgart, Germany{breitenbuecher, lastname}

    AbstractPatterns are a well-established concept to documentgeneric solutions for recurring problems in an abstract manner.Especially in Information Technology (IT), many pattern lan-guages exist that ease creating application architectures, designs,and management processes. Their generic nature provides apowerful means to describe knowledge in an abstract fashionthat can be reused and refined for concrete use cases. However,the required manual refinement currently prevents applying theconcept of patterns efficiently in the domain of Cloud ApplicationManagement as automation is one of the most important require-ments in Cloud Computing. This paper presents an approachthat enables automating both (i) the refinement of managementpatterns for individual use cases and (ii) the execution of therefined solutions: we introduce Automated Management Idioms torefine patterns automatically and extend an existing managementframework to generate executable management workflows basedon these refinements. We validate the presented approach by aprototypical implementation to prove its technical feasibility andevaluate its extensibility, standards compliance, and complexity.

    KeywordsApplication Management; Automation; Patterns; Id-ioms; Cloud Computing


    Patterns are a well-established concept to document reusablesolution expertise for frequently recurring problems. In manyareas, they provide the basis for decision making processes,design evaluations, and architectural issues. In the domain ofCloud Computing, patterns are of vital importance to build,manage, and optimize IT on various levels: Cloud ComputingArchitecture and Management Patterns [1], Enterprise Inte-gration Patterns [2], and Green IT Patterns [3] are a fewexamples that provide helpful guides for realizing complexCloud applications, their management, and challenging non-functional requirements. The concept of patterns enables ITexperts to document knowledge about proven solutions forproblems in a certain context in an abstract, structured, andreusable fashion that supports systems architects, developers,administrators, and operators in solving concrete problems.The abstract nature of patterns enables generalizing the coreof problem and solution to a level of abstraction that makesthem applicable to various concrete instances of the generalproblemindependently from individual manifestations. Thus,many IT patterns are applicable to a big set of different settings,technologies, system architectures, and designs. Applyingpatterns to real problems requires, therefore, typically a manualrefinement of the described abstract high-level solution foradapting it to the concrete use case. To guide this refinementand ease pattern application, most pattern languages docu-ment implementations, known uses, or examples forthe described pattern solutionas already done implicitly byAlexander in his early publications on patterns [4].

    However, in some areas, these benefits face difficultiesthat decrease the efficiency of using patterns immensely. Inthe domain of Cloud Application Management, the immediate,fast, and correct execution of management tasks is of vitalimportance to achieve Cloud properties such as on-demandself-service and elasticity [5][6]. Thus, management patterns,e. g., to scale a Cloud application, cannot be applied manuallyby human operators when a problem occurs because manualexecutions are too slow and error prone [1][7]. Therefore,to use patterns in Cloud Application Management, theirapplication must be automated [8]. A common way to automatethe execution of management patterns is creating executableprocesses, e. g., workflows [9] or scripts, that implement arefined pattern solution for a certain application [1]. To achieveCloud properties, this must be done in advance, i. e., before theproblem occurs, for being ready to run them immediately whenneeded. However, these processes are tightly coupled to a singleapplication as the refinement of a management pattern dependsmainly on the technical details of the application, its structure,and the concrete desired solution [10]. For example, the patternfor scaling a Cloud application results in different processesdepending on the Cloud provider hosting the application: dueto the heterogeneous management APIs offered by differentCloud providers, different operations have to be executed toachieve the same conceptual effect [11]. Thus, individual patternrefinement influences the resulting management processesfundamentally. As a result, multiple individual processes have tobe implemented in advance to execute one management patternon different applications. However, if multiple patterns have tobe implemented for hundreds of applications in advance, thisis not efficient as the required effort is immense. In addition,as Cloud application structures typically evolve over time, e. g.,caused by scaling, a pattern may has to be implemented multipletimes for a single application. Ironically, if the implementedprocesses are not used during the applications lifetime, thespent effort was laborious, costly, but completely unnecessary.

    The result of the discussion above is that the gap between apatterns abstract solution and its refined executable implemen-tation for a certain use case currently prevents applying the con-cept of patterns efficiently to the domain of Cloud ApplicationManagementdue to the mandatory requirement of automationand its difficult realization. Thus, we need a means to automatethe refinement of abstract patterns to concrete executablesolutions on demand. In this paper, we tackle these issuesby presenting an approach that enables applying managementpatterns fully automatically to individual applications. We showhow the required refinement of a management pattern towardsa concrete use case can be automated by inserting an additionallayer of Automated Management Idioms, which provide afine grained refinement of a particular abstract managementpattern. These Automated Management Idioms are able to create

    60Copyright (c) IARIA, 2014. ISBN: 978-1-61208-343-8

    PATTERNS 2014 : The Sixth International Conferences on Pervasive Patterns and Applications

  • formal declarative descriptions of the management tasks to beperformed automatically for individual applications that areused afterwards to generate the corresponding executable man-agement processes using an existing management framework.This enables automating the application of abstract patterns tovarious concrete applications without human intervention, whichincreases the efficiency of using patterns in Cloud ApplicationManagement. Thereby, the presented approach (i) helps ITexperts to capture their management knowledge in an executablefashion and (ii) enables automating existing managementpatternsboth independently from individual applications. Toprove the relevance of our approach, we conduct a detailedcase study that illustrates the high complexity of applying anabstract migration management pattern to a concrete use case.We validate the approach through a prototype that extendsan existing management framework by the presented conceptand the implementation of real world migration use cases toprove its technical feasibility. Furthermore, we evaluate theconcept in terms of automation, technical complexity, standardscompliance, separation of concerns, and extensibility.

    The paper is structured as follows: in Section II, we describebackground information and a case study. In Section III, wedescribe the management framework which is extended by ourapproach presented in Section IV. In Section V, we evaluate theapproach and present related work in Section VI. We concludethe paper and give an outlook on future work in Section VII.


    In this section, we provide background information aboutthe domain of Cloud Application Management and analyze therequirements to apply the concept of patterns. Afterwards, wemotivate the presented approach through a case study.

    A. Automating Patterns for Cloud Application Management

    In this section, we discuss why the concept of patternsand their automation are of vital importance in the domainof Cloud Application Management to optimize managementand to reduce the number of errors and downtimes. Dueto the steadily incr


View more >