<!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>Model-Driven Engineering meets the Platform-as-a-Service Model</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Adrian Juan-Verdejo</string-name>
          <email>adrianppg@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Information Systems Chair Stuttgart University</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Organisations who want to migrate their applications to Platform-as-a-Service (PaaS) environments have a lot of PaaS vendors to chose from and many PaaS o erings within them. At the PaaS abstraction level within the cloud service model, each vendor o ers many di erent con gurations to meet the speci c organisation's criteria to migrate to PaaS and the application's requirements. PaaS providers and their offerings di er in terms of the supplied execution environments, databases, web servers, or development tools. Enterprises have di culties to choose the right PaaS o ering for them to deploy their applications to and have to manually con gure their applications according to the PaaS selection. All in all, this is an error-prone process which model-driven approaches can facilitate. This paper shows the meta models needed to describe the application to be deployed to a PaaS o ering, the PaaS o ering itself, and the migrated applications with re-scattered components to both the local premises and PaaS. The InCLOUDer decision support system uses these meta models to support the deployment of the application to the PaaS o ering which best helps enterprises in achieving the criteria which motivate them to start using PaaS environments. InCLOUDer keeps some of the application's components locally to ful l the constraints of organisations related to security, data privacy, performance, compatibility, and governance.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        By deploying their applications to PaaS, today's software organisations|and
small and medium enterprises (SMEs) in particular|can achieve key competitive
advantages due to their business agility, how quickly they market the products
they o er, and their ability to reach their potential users. PaaS environments
have the potential to let organisations increase their abilities to scale up and
down|by adding or removing resources to a node in use|, or in and out|by
adding or removing nodes to a system|; cut their costs; and shorten the time
they spend to market their software solutions. PaaS o erings hide low-level
details from the developer, such as the underlying infrastructure including load
balancers, virtual machines, servers, data storage and access, and networks. The
PaaS developing environment frees developers from software versioning or
resource provision and lets them use extra built-in services and capabilities and
write code faster. PaaS vendors provide development tools, libraries, and
application programming interfaces (APIs) to let developers access their storage
resources and deploy their applications to their runtime environment and execute
them. Due to the faster PaaS application testing and deployment; development
teams easily try di erent con gurations of their applications to test them,
assess their applications' performance, and identify potential compatibility issues
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. From a business perspective, as enterprises outsource computation to PaaS
vendors, they can focus on their core business interests and do it better [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Problem statement. As a result of the potential advantages o ered by
PaaS, the demand of PaaS environments has been increasing for the last years
and the number of PaaS providers accordingly. A myriad of vendors supply
many PaaS o erings at various levels of abstraction with di erent capabilities,
runtime environments, services, and supported platforms. The huge amount of
PaaS vendors together with the various PaaS o erings with many con gurable
parts makes for a lot of options for organisations to chose from. So many options
that organisations nd di culties in selecting the right PaaS o ering for their
software system requirements and the goals they want to achieve by using PaaS
environments. These goals range from achieving easier extensibility by using the
services o ered in PaaS environments to easing the deployment, including
improving the application's security and portability. Enterprises can choose from
PaaS o erings with various security protocols, QoS guarantees, trust issues, tools
form application migration and porting, followed standards, and cost models.
SMEs' PaaS migration criteria might lead them to want to select the most
reliable, performant, well-reputed, or cost-e cient o ering [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Likewise, they might
simply be interested in using the one which meets their technical requirements
without much adaptation or developing e ort. It is not obvious how to compare
PaaS o erings according to these criteria or dimensions [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Additionally, it is
not evident how to identify the potential of a PaaS o ering over another one,
especially on the long term. There is a lack of standards and metrics to identify
di erences and compare PaaS o erings [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        The six dimensions identi ed in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] to compare PaaS o erings are not
independent. As a result some dimensions or sub-dimensions oppose others in some
cases. Organisations need assistance to incorporate all this knowledge into the
decision-making process involved in migrating applications to PaaS.
Additionally, enterprises may face a well-known problem associated with the PaaS model,
the vendor lock-in problem when they want to switch from one PaaS vendor to
another one. The inability of some PaaS vendors to comply to standards
hinders the application and data portability. But even if portability is supported in
theory, the high complexity of the process if vendors do not facilitate it and the
switching costs still discourage organisations from porting their applications [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Organisations want to be able to switch easily and transparently between PaaS
providers whenever they need. They might want to move to a di erent provider
due to a Service Level Agreement breach (SLA), a cost increase, or simply
because the vendor went out of business. At the same time, organisations do not
want to set their data and applications at risk in case they have to port their
applications to a di erent PaaS environment. Typical risky scenarios include data
loss or inability to run the application on a di erent platform.
      </p>
      <p>
        Related work. The migration of systems and applications to cloud-enabled
environments attracts a lot of attention from the research community [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
The REMICS FP7 project [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] reuses and migrates legacy applications to
interoperable cloud services by using concepts from the Model-Driven Architecture
and Architecture-Driven Modernization worlds. They leverage cloud computing
to provide cost-e cient and reliable services. However, unlike InCLOUDer, they
focus only on the technical dimension of the migration but not on the
organisational, policy- and business-related aspects as well as recommended by the
literature [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The authors of [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] presented a process framework to migrate
legacy software to cloud environments based on their experiences in migrating
a legacy open source system. They propose seven distinct activities for cloud
migration including the cloud selection but they do not cope with application's
constraints related to data privacy or other organisation's criteria.
      </p>
      <p>
        Goal. This paper describes the process followed by InCLOUDer [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to
migrate applications to PaaS environments and the meta models that support the
process. For the rst time, this paper formalises and explains the meta models
used by InCLOUDer and makes contribution on showing how they work when
taking into account the explained six PaaS dimensions. More speci cally,
InCLOUDer uses meta models for application pro ling, organisations PaaS criteria
description, and PaaS o erings selection. Prior to migration, this paper addresses
PaaS selection in respect of six PaaS identi ed dimensions [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]|the application,
SLA, deployment, security, portability and usability dimensions|with
emphasis in achieving portability to increase the level of service and minimise vendor
lock-in. InCLOUDer assist the PaaS selection and supports the decision on how
to adapt the application to the selected PaaS con guration.
2
      </p>
      <p>Approach to Application Migration to PaaS
The InCLOUDer decision support system assists the migration of applications
to PaaS environments. Fig. 1 shows a high-level description of InCLOUDer
and its three input models marked with red arrows. The organisation migrating
the application to the PaaS speci es both the organisation's criteria to PaaS
migration|which weights each of the six PaaS migration dimensions in relation
to the importance of each one of them for the organisation; and the application
pro le capturing the application's requirements, constraints, and architecture
according to the meta model in Fig. 3. The third input model lets PaaS vendors
describe their PaaS o erings|or modellers if they do not|according to the meta
model in Fig. 2.</p>
      <p>Fig. 1 presents three of the mechanisms used in InCLOUDer, namely the
InCLOUDer application components re-scatterer, the InCLOUDer
alternatives generator, and the InCLOUDer alternatives selector. The
InCLOUDer application components re-scattering and the InCLOUDer
alternatives generator take into account the application pro le and the
organisation's criteria to re-scatter the application's components to the local premises
and the PaaS o erings. The reason to keep components in the local premises
is to meetThe InCLOUDer alternatives selector weights each alternative
to migrate the application|re-scatterings in PaaS O ering|to select the
most bene cial alternative to migrate the application to PaaS|weighted
alternatives.</p>
      <p>Fig. 2 shows the meta model to describe and validate a PaaS o ering.
Each PaaSProvider supplies several PaaSO erings which provides
PaaSCharacteristics. PaaSCharacteristics include, exclude, or group other
PaaSCharacteristics. The GroupRelationship can be an OR or XOR relationship depending
on whether several PaaSCharacteristics can be present at the same time|OR|
or only one of them|XOR. The PaaSCharacteristics present in a PaaSO ering
determines the value of each Property of a PropertyType.</p>
      <p>The meta model shown in Fig. 3 lets organisations specify their application's
requirements, constraints, and architecture. Organisations can model their
application's data and application components, specify in which nodes these
components run, and how these components are connected. Additionally, organisations
can model the application's requirements and constraints.</p>
      <p>
        Surajbali and Juan-Verdejo described the six PaaS migration dimensions
with more detail in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Once the organisation speci es the organisation's PaaS
migration criteria and the two input models based on the meta models shown in
Fig. 2 and Fig. 3. InCLOUDer generates the alternatives to migrate to PaaS
consisting in a model describing|according to the meta model presented in Fig.
4|how to re-scatter the application's components to the local premises and the
PaaS o erings. This meta model speci es which components
(AbstractComponents) to migrate to a PaaSProvider and which to keep in the LocalPremises.
Aditionally, this meta model supports measuring the PaaSO ering score per
DimensionType. Each DimensionType is one of the six criteria to PaaS migration.
Contribution. The uniqueness of the InCLOUDer approach strives in
rescattering the application components to the local premises and the di erent
PaaS o erings to maximise the organisation's PaaS migration criteria. All the
proposed alternatives to migrate to PaaS comply with the application's
constraints such as component-to-component communication delays or
platformdependent speci cations|e.g. supplying a MySQL database management
system or a Tomcat application server. Additionally, the PaaS migration
alternatives respect the organisation's policies related to data protection and sensitivity
by keeping locally components which contain sensitive data. The future work
related to this work includes adding to the quantitative evaluation done for
InCLOUDer the empirical validation of the approach taken by letting organisations
use InCLOUDer for the migration of their applications to PaaS environments.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Armbrust</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fox</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gri</surname>
            <given-names>th</given-names>
          </string-name>
          , R.,
          <string-name>
            <surname>Joseph</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Konwinski</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patterson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rabkin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoica</surname>
            ,
            <given-names>I.:</given-names>
          </string-name>
          <article-title>A view of Cloud Computing</article-title>
          .
          <source>Communications of the ACM</source>
          <volume>53</volume>
          (
          <year>2010</year>
          )
          <volume>50</volume>
          {
          <fpage>58</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Juan-Verdejo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Surajbali</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baars</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kemper</surname>
            ,
            <given-names>H.G.</given-names>
          </string-name>
          :
          <article-title>Moving business intelligence to cloud environments</article-title>
          .
          <source>In Proceedings IEEE INFOCOMM, Cross Cloud</source>
          <year>2014</year>
          , Toronto (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Khajeh-Hosseini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Greenwood</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sommerville</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Cloud migration: A case study of migrating an enterprise it system to iaas</article-title>
          .
          <source>In: Cloud Computing (CLOUD)</source>
          ,
          <year>2010</year>
          IEEE 3rd International Conference on,
          <source>IEEE</source>
          (
          <year>2010</year>
          )
          <volume>450</volume>
          {
          <fpage>457</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Surajbali</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Juan-Verdejo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A marketplace broker for platform-as-a-service portability</article-title>
          .
          <source>In: Proceedings of the Third European Conference on Service-Oriented</source>
          and
          <article-title>Cloud Computing (ESOCC) (to appear)</article-title>
          ,
          <source>ACM</source>
          (
          <year>2014</year>
          )
          <volume>275</volume>
          {
          <fpage>282</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Joe</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Does platform as a service have interoperability issues (</article-title>
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gonidis</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simons</surname>
            ,
            <given-names>A.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paraskakis</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kourtesis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Cloud application portability: an initial view</article-title>
          .
          <source>In: Proceedings of the 6th Balkan Conference in Informatics, ACM</source>
          (
          <year>2013</year>
          )
          <volume>275</volume>
          {
          <fpage>282</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Jamshidi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ahmad</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pahl</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Cloud migration research: a systematic review</article-title>
          . (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Mohagheghi</surname>
          </string-name>
          , P., S ther, T.:
          <article-title>Software Engineering Challenges for Migration to the Service Cloud Paradigm: Ongoing Work in the REMICS Project</article-title>
          .
          <source>In: 2011 IEEE World Congress on Services, Ieee</source>
          (
          <year>2011</year>
          )
          <volume>507</volume>
          {
          <fpage>514</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Juan-Verdejo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baars</surname>
          </string-name>
          , H.:
          <article-title>Decision support for partially moving applications to the cloud: the example of business intelligence</article-title>
          .
          <source>In: Proc. of the int. workshop on Hot topics in cloud services</source>
          ,
          <source>ACM</source>
          (
          <year>2013</year>
          )
          <volume>35</volume>
          {
          <fpage>42</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Ahmad</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Babar</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          :
          <article-title>A framework for architecture-driven migration of legacy systems to cloud-enabled software</article-title>
          .
          <source>In: Proceedings of the First International Conference on Dependable and Secure Cloud Computing Architecture - DASCCA '14</source>
          , New York, New York, USA, ACM Press (
          <year>2014</year>
          ) 1{
          <fpage>8</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Babar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chauhan</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A tale of migration to Cloud Computing for sharing experiences and observations</article-title>
          .
          <source>In: SECloud '11 Proceedings of the 2nd International Workshop on Software Engineering for Cloud Computing</source>
          . (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Juan-Verdejo</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zschaler</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Surajbali</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baars</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kemper</surname>
          </string-name>
          , H.G.:
          <article-title>InCLOUDer: A formalised decision support modelling approach to migrate applications to cloud environments</article-title>
          .
          <source>In: 40th Euromicro Conference on Software Engineering and Advanced Applications (SEAA</source>
          <year>2014</year>
          ), IEEE (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>