<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>MDE-based Automated Provisioning and Management of Cloud Applications</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Anirban Bhattacharjee Department of Electrical Engineering and Computer Science Vanderbilt University</institution>
          ,
          <addr-line>Nashville, Tennessee</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-Digital innovations in the modern era are driven by cloud-native applications, cloud architectures, and cloudbased development. In this realm, continuous architectural design, framework/infrastructure (re-)configuration, deployment, migration, and resource monitoring to iteratively tune the application and underlying resources as per business demand are required in the form of a self-service cloud deployment and management platform. To address these challenges while ensuring broader applicability using vendor-agnostic approaches, this doctoral research envisions an intelligent and context-aware, model-driven, automated service provisioning technique, where manual efforts and domain expertise are alleviated to a large extent. In this context, this paper describes a self-service cloudbased application deployment and management ecosystem based on a Model-Driven Engineering (MDE) approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Deployment and management of cloud-based applications
in both homogeneous or heterogeneous cloud environments
are often hampered by the intricacies and variabilities in the
deployment and configuration processes stemming from the
diversity in both the software stacks that control the cloud
platforms and the underlying platform resources. Application
provisioning is important since it enables the service providers
to deploy their service’s application components in the cloud
provider’s resources in accordance with the service’s Quality
of Services (QoS), availability, business policy, and cost model
requirements [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ], [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]. This complexity restricts the cloud
application development and deployment knowledge to a narrow
set of experts who possess both the domain knowledge and
application-specific knowledge to explore the power of these
techniques. Even with advances in DevOps community tools,
they demand domain expertise and hence creating full-blown
deployable models are error-prone and time-consuming.
      </p>
      <p>
        To address these challenges, this doctoral dissertation
envisions an intelligent and context-aware, model -driven,
automated service provisioning platform where manual efforts
and domain expertise are minimal. To that end, in this
paper, we propose a model-driven engineering (MDE)-based
ecosystem [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] to automate the process of deployment and
management for cloud applications and emphasize on
extensibility, (re-)usability and scalability. Our approach emphasizes
vendor-neutrality in order to be broadly applicable to diverse
cloud platforms with their control software stacks. In the
remainder of this paper, we explore the challenges faced in
realizing the MDE approach for deployment and management
of cloud applications, the current state of the art, and propose
solutions while providing some preliminary results.
      </p>
    </sec>
    <sec id="sec-2">
      <title>II. PROBLEM FORMULATION</title>
      <p>
        Consider as an example a distributed, data-intensive
application deployed in the cloud. It requires significant efforts for
the designers
1) To configure and deploy the application to use the
available big data frameworks [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ],
2) To set up the virtual machines to host the frameworks
and finally, and
3) To establish the connection properly among application
components.
      </p>
      <p>Moreover, adding application component which requires a
different framework exacerbates these problems. To address
these problems, we envision an automated solution and outline
the key requirements of such an approach and their associated
technical challenges:</p>
      <p>Need to abstract away the architecting phase by pre-defining
the configuration of applications and infrastructure as intuitive
modeling artifacts, which will speed up the deployment and
migration process.</p>
      <p>Challenge 1: Capturing the Application and Cloud
Specifications in the Metamodel, where all the
deployment and infrastructure complexities of the application
and cloud specification are identified and defined.
Challenge 2: Defining a Language for Model
Transformation, where the DSML will transform the abstract
business model to target model (i.e. infrastructure code)
using a knowledge base.</p>
      <p>Challenge3: Verification of the Business Model, where
all relationships and constraints of application
components are checked and satisfied.</p>
      <p>Changes in business strategies and demands lead to
evolution of the business model, and hence the platform should be
integrated with adaptation techniques.</p>
      <p>Challenge 4: Extensibility and Reusability of the
Application Components, where the addition, upgradation or
migration of application components can be done at the
model level, and should support collaboration and version
control.</p>
      <p>Challenge 5: Extensibility of the Platform, where the
addition of a new application type should be performed
in a modularized way, and should be only a one-time
effort.</p>
      <p>C. Requirement 3: Dynamic Modeling and Provisioning</p>
      <p>Continuously monitoring the infrastructure of the system
and applications are required, and hence the model should
always reflect the current up-to-date state.</p>
      <p>Challenge 6: Context-Aware Provisioning, where
optimization of cloud resources based on cost and resource
availability should take place iteratively for potentially
differing QoS needs, policies, etc.</p>
      <p>
        Challenge 7: Model@Runtime, where the changes
stemming from self-adaptation of the provisioning techniques
should be reflected back at the model level
dynamically [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>III. RELATED WORK</title>
      <p>
        We explore existing research efforts directly aligned with
our research goals. The script-centric DevOps community
provides toolchains such as Chef [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ], Puppet [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], or
Ansible1 to speed up deployment for developers [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. Cloudify
and Apache Brooklyn2 enable cloud application orchestration
of topology templates in a vendor-agnostic way according
to the Topology and Orchestration Specification for Cloud
Applications (TOSCA) [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] specification. However, we need
declarative high-level modeling abstraction on top of these
tools to reduce the burden of domain expertise.
      </p>
      <p>
        To satisfy Requirement 1, multiple pattern based approaches
are proposed [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] where a model-based pattern
describes a set of capabilities and functional and non-functional
properties of application service deployment in cloud
infrastructures [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Alternatively, requirement solvers [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
are also proposed to synthesize infrastructure configuration
in a declarative fashion. OpenTOSCA [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and CELAR [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
exercise the combination of MDE and TOSCA specification to
automate deployment of cloud applications from users’ partial
business relevant topology. The components can be deployed
and managed in the right order [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Later in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] a
contextaware provisioning and management plan along with detection
and correction of the unintended error due to software conflicts
and dependency is proposed. However, their platform is not
based on any standardization, and their planner does not use
any DevOps community tools. Hence, their approach might
lack extensibility and robustness.
      </p>
      <p>
        In relation to Requirement 2, CHAMPS [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] focuses on
Change Management process by which IT systems are
efficiently modified to minimize reconfiguration impact.
Similarly, various standard modeling environments as an
objectoriented formalism for configuration problems is proposed in
1https://www.ansible.com/
2https://brooklyn.apache.org/
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. For Requirement 3 [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], dynamic resource
management on enterprise application vendors is proposed by
various frameworks based on queuing model [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ], [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ], or by
dynamic QoS Control [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>IV. PROPOSED SOLUTION</title>
      <p>We propose a composable ecosystem called CloudCAMP
to deploy, monitor and manage cloud application intelligently.
The workflow of the proposed approach is shown in Fig. 1.
The contributions in this research include the following tasks:
Task 1: A Deployment Framework Metamodel, to
automate the infrastructure design and implementation by
capturing variability and commonality endpoints for the
application and cloud specifications along with their SDK
and APIs, to provide abstractions based on
TOSCAspecifications. This metamodel details will be stored in
the knowledge base of the platform.</p>
      <p>Task 2: Model-to-Infrastructure-as-code Transformation
DSML, as the basis for the deployment time and runtime
composition and orchestration through generative
programming. The DSML will also be integrated with
predefined constraints to verify the correctness of business
model.</p>
      <p>Task 3: An Integrated Repository, that allows storage,
query, and manipulation of models, templates, metadata,
parameters, software dependency knowledge base and
provenance in a scalable data store.</p>
      <p>Task 4: A Model@Runtime framework, that permits
reflection of the current model by capturing and monitoring
the streamlined system and application information across
heterogeneous resources at runtime.</p>
      <p>Task 5: Integration of Adaptive Resource Provisioning
Engine, to provide the QoS guarantees while scaling the
application vertically and horizontally, based on policy,
economic issues, etc.</p>
      <p>
        The approach to integrating diverse sets of deployment and
management building blocks for a specific application and
cloud providers offers significant advantages over traditional
methods – such as DevOps or orchestration frameworks –
by applying a blend of generative programming and micro
service architectures. Concrete implementation our proposed
generative approach will be demonstrated in a cloud-based
MDE environment called WebGME [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ].
      </p>
    </sec>
    <sec id="sec-5">
      <title>V. CURRENT STATUS</title>
      <p>Our CloudCAMP approach to integrating a diverse set of
deployment and management building blocks for a specific
application and cloud providers offers significant advantages
over traditional methods – such as DevOps or orchestration
frameworks – by applying a blend of generative programming
and micro service architectures.</p>
      <p>
        A concrete implementation of our MDE-based, generative
approach called CloudCAMP is being developed within a
cloud-based MDE environment called WebGME [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. A
preliminary version of CloudCAMP supports few application
types in an OpenStack cloud environment. The DSML
transforms the business model to an infrastructure-as-code based
on the metamodel and pre-defined knowledge base, which is
a MySQL database. We have integrated a monitoring tool to
check the VMs and applications health. Presently, our DSML
can realize the CloudCAMP metamodel and generate Ansible
specific infrastructure code.
      </p>
      <p>The development of CloudCAMP comprises of the design
and evaluation of the expressivity of the metamodel and the
DSML with all the product-line features. Figure 2 provides
a timeline for this research, conducted under the supervision
of Dr. Aniruddha Gokhale, Associate Professor, Vanderbilt
University.</p>
    </sec>
    <sec id="sec-6">
      <title>VI. PLAN FOR EVALUATION AND VALIDATION</title>
      <p>
        To demonstrate the deployment and management
ecosystem, we are developing the CloudCAMP platform based on
Generic Modeling Environment (GME) [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] as Task 1 and 2.
      </p>
      <p>
        Our research evaluation plans call for validating the
framework in the context of our ongoing and upcoming industry and
federally sponsored research projects. The source code is
available at https://anirban2404.github.io/DeploymentAutomation/.
For example, one of our new projects is building a cloud-based
machine learning ecosystem which illustrates many of the
needs addressed by our research. We also plan to validate our
framework in cloud-based, collaborative education services for
STEM education [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
    </sec>
    <sec id="sec-7">
      <title>VII. EXPECTED CONTRIBUTIONS</title>
      <p>CloudCAMP will ease the deployment and management of
applications based on deployment abstraction and intelligent
resource optimization. The following key contributions are
expected from this research:</p>
      <p>The following key contributions are expected from this
research:
1) Automated generation of infrastructure code from an
abstract business model in a standardized manner. It can
reduce deployment and migration time of application
components enormously. Our CloudCAMP framework
can be extended, and the application components are
reusable and modularized.
2) Business model verification. Business model will be
verified via a set of pre-defined constraints, which collected
by reverse engineering and prototyping.
3) Model@Runtime framework. We will monitor and reflect
the current system information in the model-level, so the
business user can understand application design state and
can override the architecture if necessary.
4) Integration of Resource Management Techniques. To
build the context-aware self-service framework, we will
integrate the resource management algorithm, which
will trigger the addition or migration of application
components to scale the system based on demand.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Ardagna</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Di</given-names>
            <surname>Nitto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Casale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Petcu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Mohagheghi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Mosser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Matthews</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Gericke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ballagny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>D'Andria</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          , et al.:
          <article-title>Modaclouds: A model-driven approach for the design and execution of applications on multiple clouds</article-title>
          .
          <source>In: Proceedings of the 4th International Workshop on Modeling in Software Engineering</source>
          . pp.
          <fpage>50</fpage>
          -
          <lpage>56</lpage>
          . IEEE Press (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Arnold</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eilam</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalantar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Konstantinou</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Totok</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          :
          <article-title>Pattern based SOA deployment</article-title>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Barve</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patil</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bhattacharjee</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gokhale</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Pads: Design and implementation of a cloud-based, immersive learning environment for distributed systems algorithms</article-title>
          .
          <source>IEEE Transactions on Emerging Topics in Computing PP(99)</source>
          ,
          <fpage>1</fpage>
          -
          <lpage>1</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Blair</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bencomo</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , France, R.B.:
          <article-title>Models@ run. time</article-title>
          .
          <source>Computer</source>
          <volume>42</volume>
          (
          <issue>10</issue>
          ) (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5] Breitenbu¨cher, U.,
          <string-name>
            <surname>Binz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Ke´pes,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Kopp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Leymann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Wettinger</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>Combining declarative and imperative cloud application provisioning based on tosca</article-title>
          .
          <source>In: Cloud Engineering (IC2E)</source>
          , 2014 IEEE International Conference on. pp.
          <fpage>87</fpage>
          -
          <lpage>96</lpage>
          . IEEE (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6] Breitenbu¨cher, U.,
          <string-name>
            <surname>Binz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wieland</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Context-aware provisioning and management of cloud applications</article-title>
          .
          <source>In: International Conference on Cloud Computing and Services Science</source>
          . pp.
          <fpage>151</fpage>
          -
          <lpage>168</lpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Di</given-names>
            <surname>Cosmo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Eiche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Mauro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Zacchiroli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Zavattaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Zwolakowski</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.</surname>
          </string-name>
          :
          <article-title>Automatic deployment of services in the cloud with aeolus blender</article-title>
          .
          <source>In: International Conference on Service-Oriented Computing</source>
          . pp.
          <fpage>397</fpage>
          -
          <lpage>411</lpage>
          . Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Eilam</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Elder</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Konstantinou</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Snible</surname>
          </string-name>
          , E.:
          <article-title>Pattern-based composite application deployment</article-title>
          .
          <source>In: 12th IFIP/IEEE International Symposium on Integrated Network Management (IM</source>
          <year>2011</year>
          )
          <article-title>and Workshops</article-title>
          . pp.
          <fpage>217</fpage>
          -
          <lpage>224</lpage>
          . IEEE (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Fehling</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Retter</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schumm</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schupeck</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>An architectural pattern language of cloud-based applications</article-title>
          .
          <source>In: Proceedings of the 18th Conference on Pattern Languages of Programs</source>
          . p.
          <fpage>2</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Feinerer</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Efficient large-scale configuration via integer linear programming</article-title>
          .
          <source>Artificial Intelligence for Engineering Design, Analysis and Manufacturing</source>
          <volume>27</volume>
          (
          <issue>01</issue>
          ),
          <fpage>37</fpage>
          -
          <lpage>49</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Gambi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toffetti</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pautasso</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pezze</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Kriging controllers for cloud applications</article-title>
          .
          <source>IEEE Internet Computing</source>
          <volume>17</volume>
          (
          <issue>4</issue>
          ),
          <fpage>40</fpage>
          -
          <lpage>47</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Giannakopoulos</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Papailiou</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mantas</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Konstantinou</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsoumakos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koziris</surname>
          </string-name>
          , N.:
          <article-title>Celar: automated application elasticity platform</article-title>
          .
          <source>In: Big Data (Big Data)</source>
          ,
          <source>2014 IEEE International Conference on</source>
          . pp.
          <fpage>23</fpage>
          -
          <lpage>25</lpage>
          . IEEE (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13] Guille´n, J.,
          <string-name>
            <surname>Miranda</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murillo</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Canal</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A service-oriented framework for developing cross cloud migratable software</article-title>
          .
          <source>Journal of Systems and Software</source>
          <volume>86</volume>
          (
          <issue>9</issue>
          ),
          <fpage>2294</fpage>
          -
          <lpage>2308</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Hirmer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Breitenbu¨cher, U.,
          <string-name>
            <surname>Binz</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , et al.:
          <article-title>Automatic topology completion of tosca-based cloud applications</article-title>
          . In: GIJahrestagung. pp.
          <fpage>247</fpage>
          -
          <lpage>258</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Homer</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sharp</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brader</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Narumoto</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Swanson</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Cloud design patterns: Prescriptive architecture guidance for cloud applications (</article-title>
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Huber</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brosig</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kounev</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Model-based self-adaptive resource allocation in virtualized environments</article-title>
          .
          <source>In: Proceedings of the 6th International Symposium on Software Engineering for Adaptive and SelfManaging Systems</source>
          . pp.
          <fpage>90</fpage>
          -
          <lpage>99</lpage>
          . ACM (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Huber</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brosig</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spinner</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kounev</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bahr</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Model-based self-aware performance and resource management using the descartes modeling language</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Humble</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Molesky</surname>
          </string-name>
          , J.:
          <article-title>Why enterprises must adopt devops to enable continuous delivery</article-title>
          .
          <source>Cutter IT Journal 24(8)</source>
          ,
          <volume>6</volume>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19] Keller,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Hellerstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.L.</given-names>
            ,
            <surname>Wolf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.L.</given-names>
            ,
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.L.</given-names>
            ,
            <surname>Krishnan</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>The champs system: change management with planning and scheduling</article-title>
          .
          <source>In: Network Operations and Management Symposium</source>
          ,
          <year>2004</year>
          .
          <article-title>NOMS 2004</article-title>
          .
          <article-title>IEEE/IFIP</article-title>
          . vol.
          <volume>1</volume>
          , pp.
          <fpage>395</fpage>
          -
          <lpage>408</lpage>
          . IEEE (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Ledeczi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maroti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bakay</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karsai</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garrett</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thomason</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nordstrom</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sprinkle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Volgyesi</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>The generic modeling environment</article-title>
          .
          <source>In: Workshop on Intelligent Signal Processing</source>
          , Budapest, Hungary. vol.
          <volume>17</volume>
          , p.
          <volume>1</volume>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Loope</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Managing Infrastructure with Puppet. ”</article-title>
          <string-name>
            <surname>O'Reilly Media</surname>
          </string-name>
          , Inc.” (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shtern</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simmons</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smit</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Litoiu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Pattern-based deployment service for next generation clouds</article-title>
          .
          <source>In: Services (SERVICES)</source>
          ,
          <source>2013 IEEE Ninth World Congress on</source>
          . pp.
          <fpage>464</fpage>
          -
          <lpage>471</lpage>
          . IEEE (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23] Maro´ti,
          <string-name>
            <surname>M.</surname>
          </string-name>
          , Kecske´s,
          <string-name>
            <given-names>T.</given-names>
            , Kereske´nyi, R.,
            <surname>Broll</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          , Vo¨lgyesi,
          <string-name>
            <given-names>P.</given-names>
            , Jura´cz, L.,
            <surname>Levendovszky</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          , Le´deczi, A´.
          <article-title>: Next generation (meta) modeling: Web-and cloud-based collaborative tool infrastructure</article-title>
          .
          <source>MPM@ MoDELS</source>
          <volume>1237</volume>
          ,
          <fpage>41</fpage>
          -
          <lpage>60</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Morin</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barais</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jezequel</surname>
            ,
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fleurey</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Solberg</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Models@ run. time to support dynamic adaptation</article-title>
          .
          <source>Computer</source>
          <volume>42</volume>
          (
          <issue>10</issue>
          ) (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>Narain</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Levin</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaul</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Declarative infrastructure configuration synthesis and debugging</article-title>
          .
          <source>Journal of Network and Systems Management</source>
          <volume>16</volume>
          (
          <issue>3</issue>
          ),
          <fpage>235</fpage>
          -
          <lpage>258</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Nelson-Smith</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Test-Driven Infrastructure with Chef: Bring BehaviorDriven Development to Infrastructure as Code. ”</article-title>
          <string-name>
            <surname>O'Reilly Media</surname>
          </string-name>
          , Inc.” (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <article-title>OASIS: Topology and orchestration specification for cloud applications</article-title>
          . http://docs.oasis-open.
          <source>org/tosca/TOSCA/v1.0/TOSCA-v1.0</source>
          .
          <string-name>
            <surname>pdf</surname>
          </string-name>
          (
          <year>2013</year>
          ), oASIS Standard
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Peiris</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sharma</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balachandran</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>C2tp: a service model for cloud</article-title>
          .
          <source>International Journal of Cloud Computing</source>
          <volume>1</volume>
          (
          <issue>1</issue>
          ),
          <fpage>3</fpage>
          -
          <lpage>22</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>D.C.</given-names>
          </string-name>
          :
          <article-title>Model-driven engineering</article-title>
          . COMPUTER-IEEE COMPUTER SOCIETY-
          <volume>39</volume>
          (
          <issue>2</issue>
          ),
          <volume>25</volume>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <surname>Shekhar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chhokra</surname>
            ,
            <given-names>A.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bhattacharjee</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aupy</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gokhale</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Indices: Exploiting edge resources for performance-aware cloudhosted services</article-title>
          .
          <source>In: Fog and Edge Computing (ICFEC)</source>
          ,
          <year>2017</year>
          IEEE 1st International Conference on. pp.
          <fpage>75</fpage>
          -
          <lpage>80</lpage>
          . IEEE (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <surname>Tekiner</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Keane</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          :
          <article-title>Big data framework</article-title>
          .
          <source>In: Systems, Man, and Cybernetics (SMC)</source>
          ,
          <year>2013</year>
          IEEE International Conference on. pp.
          <fpage>1494</fpage>
          -
          <lpage>1499</lpage>
          . IEEE (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <surname>Urgaonkar</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pacifici</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shenoy</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spreitzer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tantawi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>An analytical model for multi-tier internet services and its applications</article-title>
          .
          <source>In: ACM SIGMETRICS Performance Evaluation Review</source>
          . vol.
          <volume>33</volume>
          , pp.
          <fpage>291</fpage>
          -
          <lpage>302</lpage>
          . ACM (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <surname>Yassa</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chelouah</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kadima</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Granado</surname>
            ,
            <given-names>B.:</given-names>
          </string-name>
          <article-title>Multi-objective approach for energy-aware workflow scheduling in cloud computing environments</article-title>
          .
          <source>The Scientific World Journal</source>
          <year>2013</year>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <surname>Zheng</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Model-based Dynamic Resource Management Multi Tier Information Systems</article-title>
          .
          <source>Ph.D. thesis</source>
          , Carleton University Ottawa (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>