Are Model-driven Techniques Used as a Means to Migrate SOA
Applications to Cloud Computing?
Miguel Botto, Javier González-Huerta and Emilio Insfran
ISSI Group, Department of Information System and Computation, Universitat Politècnica de València,
Camino de Vera, s/n, 46022, Valencia, Spain
Keywords: SOA, Cloud Computing, Migration.
Abstract: In recent years, cloud computing has emerged as an option to use computing resources as a solution for the
global economic crisis, namely, a cheaper way to have IT resources. Thus, many companies have started to
migrate their systems to cloud infrastructures, without the required support to carry out this process. In this
position paper, we provide an overview of the current state of research on cloud computing migration. To
understand this subject, we conducted a systematic mapping. The results suggest that research into cloud
computing migration is still in its early stages. We identify research gaps and provide general
recommendations about how these gaps may be addressed as well as future research directions that may
have potential impact on this research field.
1 INTRODUCTION
Cloud computing has become a topic of tremendous
interest as organizations struggle to improve their IT
performance. Cloud computing is described by
(Feuerlicht, 2010) as follows: it involves making
computing, data storage, and software services
available via the Internet.
The main characteristics of cloud services are:
on-demand self-service, ubiquitous network access,
location independent resource pooling, rapid
elasticity, and measured service (Mell and Grance,
2011). Cloud computing is classified into service
models as Infrastructure as a Service (IaaS),
Platform as a Service (PaaS) and Software as a
Service (SaaS). And their deployment models as
public, private, community and Hybrid (Mell and
Grance, 2011).
The use of cloud services enables companies to
pay only for what they use with regard computing
and network resources, rather than having to invest
in IT resources, and the requisite staff to support all
the hardware and software.
Cloud computing has associated benefits and
also challenges. One of these challenges are related
to is adoption, more specifically, the migration of
existing application to cloud computing.
There are few studies as reported in
(Mohagheghi and Sæther, 2011; Pace et al., 2010)
that present the evaluation of different cloud
platforms for performance indicators. Nevertheless,
there is not sufficient literature available to support
on process for migrating existing applications to
cloud.
In this position paper, we present a systematic
mapping study for summarizing how researchers and
practitioners migrate their applications to cloud
environments.
Our paper is organized as follows: Section 2,
presents the protocol we defined. Section 3,
described the results obtained. Finally, section 4
presents our conclusions and suggest areas for
further investigation.
2 RESEARCH METHOD
We have performed a systematic mapping study by
considering the guidelines that are provided in works
as those (Budgen et al., 2007; Kitchenham and
Charters, 2007; Petersen et al., 2008). A systematic
mapping study is a means of categorizing and
summarizing the existing information about a
research question in an unbiased manner.
Our systematic mapping study was performed in
three stages: Planning, Conducting, and Reporting.
The activities concerning the planning and
conducting stages of our systematic mapping study
208
Botto M., González-Huerta J. and Insfran E..
Are Model-driven Techniques Used as a Means to Migrate SOA Applications to Cloud Computing?.
DOI: 10.5220/0004963802080213
In Proceedings of the 10th International Conference on Web Information Systems and Technologies (WEBIST-2014), pages 208-213
ISBN: 978-989-758-023-9
Copyright
c
2014 SCITEPRESS (Science and Technology Publications, Lda.)
are described in the following sub-section and the
reporting stage is presented in Section 4.
Planning Stage.
During the planning stage, we
performed the following activities in order to
establish a review protocol: establishment of the
research question; definition of the search strategy,
selection of primary studies, quality assessment,
definition of the data extraction strategy, and
selection of synthesis methods.
Research Question. The goal of our study is to
examine the current use of strategies of migration of
SOA applications to Cloud Computing environments
from the point of view of the following research
question: “How researchers and practitioners
migrate their SOA applications to Cloud Computing
environments and which is the effect on the
quality?”. Since our research question is too broad,
it has been decomposed into more detailed sub-
questions (see Table 1) in order for it to be
addressed.
Table 1: Research sub-questions.
Research sub-questions Motivation
RQ1: Which strategies
are used to migrate
Service-Oriented
Architecture applications
to Cloud computing
environments?
To discover which are the
most frequently used
migration strategies in the
process to migrate SOA
applications to Cloud
Computing environments.
RQ2: Which are the
consequences of
migration on product
quality?
To discover which quality
characteristics have been
affected in the migration
process.
Search Strategy. The main digital libraries that
were used to search for primary studies were:
IEEEXplore, ACM Digital Library, Science Direct,
and Springer Link. We also manually searched the
following conference proceedings: CLOUD
COMPUTING and IEEE CLOUD.
In order to perform the automatic search of the
selected digital libraries, we used a search string (see
Table 2) consisting of three parts: Migration,
Services and Cloud. The period reviewed included
studies published from 2006 to 2013 (inclusive).
This starting date was selected because 2006 was the
year in which Amazon Inc. officially launched
Amazon Web Services.
Selection of Primary Studies. Each study was
evaluated by the three authors in order to decide
whether it should be included or not, by considering
its title, abstract and keywords. The studies that met
at least one of the following inclusion criteria were
included:
Research papers presenting migration strategies
SOA applications to Cloud Computing
environments.
Research papers presenting examples or any
empirical studies (e.g. study cases, experiments),
about migration strategies to Cloud Computing
environments.
Table 2: Search string applied.
Concept Alternative terms or Synonyms
Migration
(migra* OR evolv* OR adopt*
OR reus* OR mov*)
AND
Services
(soa OR service*)
AND
Cloud cloud
* The asterisk symbol “*” signifies any character whose
purpose it is to include any word variation of each search term
(e.g., the search term “migra*” includes the following words:
migrate OR migrating OR migration OR…).
The studies that met at least one of the following
exclusion criteria were excluded:
Introductory papers for special issues, books and
workshops.
Duplicate reports of the same study in different
sources.
Short papers with less than five pages.
Paper not written in English.
Quality Assessment. In addition to general
inclusion/exclusion criteria, it is considered critical
to assess the “quality” of primary studies. A three-
point Likert-scale questionnaire was designed to
provide a quality assessment of the selected studies.
The questions were:
The study presents strategies to migrate SOA
applications to Cloud Computing environments.
The study has been published in a relevant
journal or conference.
The study has been cited by other authors.
The possible answers to these questions were: “I
agree (+1)”, “Partially agree (0)”, and “I do not
agree (-1)”.
Data
Extraction Strategy. It was based on
providing the set of possible answers for each
research sub-question that had been defined. The
possible answers to each research sub-question are
explained in more detail as follows.
With regard to RQ1 (Strategies used), a paper
can be classified in one of the following answers:
C1: Migration strategies.
a) Conventional: if it paper uses existing
conventional migration strategy.
b) MDD: if it paper uses strategies based on
Model-Driven Development approach.
C2: Migration approaches (Watson, 2012).
AreModel-drivenTechniquesUsedasaMeanstoMigrateSOAApplicationstoCloudComputing?
209
a) Rehost: if migration approach is
specifically to move an application without
changing its architecture.
b) Refactor: if migration approach is
specifically to move applications to a
different hardware environment and/or
change the application infrastructure
configuration without changing its external
behavior.
c) Revise: if migration approach is specifically
to modify or extend the existing code base
to support legacy modernization
requirements.
d) Rebuild: if migration approach is
specifically to rebuild the solution, discard
code for an existing application and re-
architect the application.
C3: Migration types (Andrikopoulos et al.,
2012).
a) Replace components: a migration type
where one or more (architectural)
components are replaced by Cloud services.
b) Partially migrate: if migration type is
specifically to change some of the
application functionality to the Cloud, such
as application layers, and architectural
components.
c) Migrate the whole software stack: if
migration type is specifically to move the
application that is encapsulated in VMs and
run them on the Cloud.
d) Cloudify: if migration type is specifically to
make a complete migration of the
application tasks.
With regard to RQ2 (C4: Quality aspects), a
paper can be classified in one or more quality
characteristics from the ISO/IEC 25010 standard
SQuaRE (International Organization for
Standardization, 2011).
Synthesis Method. We applied both quantitative
and qualitative synthesis methods. The quantitative
synthesis was based on: i) Counting the primary
studies classified in each answer from our research
sub-questions; and ii) Counting the number of
papers found in each bibliographic source per year.
The qualitative synthesis is based on including
several representative studies for each criterion by
considering the results from the quality assessment.
Conducting Stage. The application of the
review protocol yielded the following preliminary
results (see Table 3): A total of 48 research papers
were therefore selected in accordance with the
inclusion criteria.
Table 3: Results of conducting stage.
Source
Potential Selected
Studies Studies
Automated search
IEEEXplore (IEEE)
ACM DL (ACM)
Science Direct (SD)
Springer Link (SL)
1026
308
152
1187
29
7
5
2
Total 2673 43
Manual search
CLOUD COMPUTING
IEEE CLOUD
8
7
1
4
Total 15 5
Overall results 2688 48
3 RESULTS
A summary of the results of our study is presented in
Table 4. Table 5 includes the papers cited in this
section. The complete list is available at:
http://users.dsic.upv.es/~jagonzalez/Webist2014/refe
rences.htm
Table 4: Results of systematic mapping.
Criteria Possible answer
Results
#
Studies
Percentage
(%)
C1:
Migration
strategies
Conventional
MDD
46
2
95,83
4,17
C2:
Migration
approach
Rehost
Refactor
Revise
Rebuild
20
18
-
7
44,44
40,00
-
15,56
C3:
Migration
types
Replace
Partially migrate
Migrate the
whole software
stack
Cloudify
-
7
15
25
-
14,89
31,91
53,19
C4:
Quality
aspects
Performance
efficiency
Compatibility
Reliability
Security
Maintainability
Portability
44
14
31
35
5
15
30,56
9,72
21,53
24,31
3,47
10,42
3.1 Migration Strategies
With regard to criteria C1 (migration strategies)
revealed that around 96% of the papers reviewed
presented conventional strategy (e.g., Babar et al. on
Table 5.S01, and Tran et al. on Table 5.S14).
Babar et al. (see Table 5.S01) reported their
WEBIST2014-InternationalConferenceonWebInformationSystemsandTechnologies
210
Table 5: Excerpt of selected papers from the review.
S01. Babar MA, Chauhan MA. A tale of migration to cloud
computing for sharing experiences and observations,
SECLOUD, 2011.
S02. Beserra P V., Camara A, Ximenes R, Albuquerque AB,
Mendonca NC. Cloudstep: A step-by-step decision process to
support legacy application migration to the cloud, MESOCA,
2012.
S03. Cai B, Xu F, Ye F, Zhou W. Research and application of
migrating legacy systems to the private cloud platform with
cloudstack. ICAL, 2012.
S04. Chauhan MA, Babar MA. Towards Process Support for
Migrating Applications to Cloud Computing, International
Conference on Cloud and Service Computing, 2012.
S05. Chee Y-M, Zhou N, Meng FJ, Bagheri S, Zhong P. A
Pattern-Based Approach to Cloud Transformation,
International Conference on Cloud Computing, 2011.
S06. Gerhards M, Sander V, Belloum A. About the flexible
Migration of Workflow Tasks to Clouds Combining on- and
off-premise Executions of Applications, Cloud Computing,
2012.
S07. Guillen J, Miranda J, Murillo JM, Canal C. A service-
oriented framework for developing cross cloud migratable
software. NordiCloud, 2013.
S08. Guillen J, Miranda J, Murillo JM, Canal C. Developing
migratable multicloud applications based on MDE and
adaptation techniques, NordiCloud, 2013.
S09. Juan-Verdejo A, Baars H. Decision support for partially
moving applications to the cloud, HotTopiCS, 2013.
S10. Lamberti F, Sanna A, Demartini C. How to move your
own applications into the cloud by exploiting interfaces
automation and accessibility features, International
Conference on Cloud Computing and Intelligence Systems,
2011.
S11. Li J, Jia Y, Liu L, Wo T. CyberLiveApp: A secure
sharing and migration approach for live virtual desktop
applications in a cloud environment. Futur. Gener. Comput.
Syst. 2013.
S12. Mohagheghi P, Sæther T. Software Engineering
Challenges for Migration to the Service Cloud Paradigm:
Ongoing Work in the REMICS Project, IEEE World Congress
on Services, 2011.
S13. Suen C-H, Kirchberg M, Lee BS. Efficient Migration of
Virtual Machines between Public and Private Cloud, Inter.
Conf. on Cloud Computing Technology and Science, 2011.
S14. Tran V, Keung J, Liu A, Fekete A. Application migration
to cloud, SECLOUD, 2011.
S15. Zhou L. CloudFTP: A Case Study of Migrating
Traditional Applications to the Cloud, Inter. Conf. on
Intelligent System Design and Engineering Applications,
2013.
experiences and observations gained from migrating
an Open Source Software, Hackystat, to cloud
computing. The aims of this job is to share their
experiences and observations gained through this
project and to analyze the literature with those
research works who intend to migrate software
systems in general and SOA based system in
particular to cloud computing.
Tran et al. (see Table 5.S14) proposed a
taxonomy of the migration tasks involved, and they
showed the costs breakdown among categories of
tasks, for a case-study which migrated a .NET n-tier
application to Windows Azure. They determined
how efforts are required for different types of Cloud
as well as identified any missing tasks.
The remaining 4% of the studies reported the use
of MDD strategy. MDD approaches rely on models
as a means of abstracting the development process
from the peculiarities of each cloud platform. These
results may indicate that there are few studies that
used this strategy to migrate existing system to cloud
computing environment (
e.g., Guillen et al. on
Table 5.S08, and Mohagheghi et al. on Table 5.S12).
Guillen et al. (see Table 5.S08) proposed a
framework MULTICLAPP. The framework follows
a three-stage development process where
applications can be modeled and coded without
developers having to be familiar with the
specification of any cloud platform.
Mohagheghi et al. (see Table 5.S12) presented a
research project REMICS to define methodology
and tools for model-driven migration of legacy
applications to a SOA with deployment in the cloud.
The project’s main objective is to develop a set of
model-driven methods and tools that support
organizations with legacy systems to modernize
them according to the “Service Cloud paradigm”.
3.2 Migration Approaches
With regard to criteria C2 (migration approach)
revealed that the most frequently used migration
approach is rehost, with around 44% of the papers
reviewed (e.g., Li et al. on Table 5.S11 and Zhou et
al. on Table 5.S15). These results may indicate that
most migrations are performed using this approach.
Li et al. (see Table 5.S11) proposed a flexible
collaboration approach, CyberLiveApp, to enable
live virtual desktop application sharing, based on a
cloud infrastructure. This approach supports secure
application sharing and on-demand migration among
multiple users or equipment. To achieve the goals of
live application sharing and migration between
VMs, a presentation redirection approach based on
VNC protocol and a VM cloning service based on
the Libvirt interface are used.
Zhou et al. (see Table 5.S15) proposed migrating
traditional applications - CloudFTP to the cloud.
They implemented FTP service on Windows Azure
Platform along with the auto-scaling cloud feature
since CloudFTP follows the application model
suggested for general Azure development.
Refactor account for around 40% of the papers
reviewed (e.g, Beserra et al. on Table 5.S02, and
Chee et al. on Table 5.S05).
AreModel-drivenTechniquesUsedasaMeanstoMigrateSOAApplicationstoCloudComputing?
211
Beserra et al. (see Table 5.S02) presented Cloudstep,
a step-by-step decision process aimed at supporting
legacy application migration to the cloud. The
process relied on the creation of template-based
profiles characterizing the organization, the target
legacy application and candidate cloud providers.
Chee et al. (see Table 5.S05) proposed a pattern-
based approach Cloud Transformation Advisor
which helps users selecting appropriate enablement
patterns from a knowledge base of best practices
when planning the transformation. This knowledge
base uses a structured representation to capture
application information, cloud platform capability
information, and enablement pattern information in
order to facilitate pattern selection.
Rebuild account for around 16% of the papers
reviewed, since this way focused on rebuilding the
solution (e.g., Cai et al. on Table 5.S03).
Cai et al. (see Table 5.S03) presented the
problems with Legacy Information Systems and
proposed redevelopment, which rewrites existing
applications providing new interfaces for a
component, making it more easily accessible for
other software components; and migration.
3.3 Migration Types
With regard to for criteria C3 (migration types)
revealed that around 53% of the papers reviewed
presented cloudify (e.g., Chauhan et al. on Table
5.S04, and Lamberti et al. on Table 5.S10).
Chauhan et al. (see Table 5.S04) presented a
process framework for supporting migration to cloud
computing based on their experiences from
migrating an Open Source System (OSS), Hackystat,
to two different cloud computing platforms
(Amazon Web Services and Google App Engine).
The main activities involved in this process include
identification of requirements and potential cloud
platforms, analyzing application compatibility with
potential cloud environments, identification of
potential architecture solutions, evaluation of cloud
environments for cloud specific quality attributes,
tradeoff analysis of potential architecture solutions,
selection of architecture modifications to be
incorporated and refactoring of the system to
incorporate new architecture modifications.
Lamberti et al. (see Table 5.S10) presented a
prototype implementation, which consists of a
framework that allows today’s applications to be put
into the cloud by exploiting user interface
automation and accessibility information embedded
in modern window-based graphics toolkits. This
framework organized as a three-tier architecture
includes the particular remote program we want to
move to the cloud, a server-side gateway and a web-
based client.
Migrate the whole software stack account for
around 32% of the papers reviewed (e.g., Suen et al.
on Table 5.S13). Suen et al. (see Table 5.S13)
proposed and evaluated techniques for both
instance-based and volume-based storage in the
public and private cloud infrastructure for efficient
and effective transfer and storage of VM images.
The main focus was on both the public and private
cloud infrastructure and the movement of VMs
between them.
Lastly, partially migrate account for around 15%
of the papers reviewed (e.g., Gerhards et al. on Table
5.S06, and Juan-Verdejo et al. on Table 5.S09).
Gerhards et al. (see Table 5.S06) addressed the
demand for a consistent framework that allows a
mixture of on and off-premise calculations by
migrating only specific parts to a Cloud. It used the
concept of workflows to present how individual
workflow tasks can be migrated to the Cloud
whereas the remaining tasks are executed on-
premise.
Juan-Verdejo et al. (see Table 5.S09) proposed a
cloud migration framework to assist in the moving
of the target application by following a local and
cloud deployment model instead of an all-or-nothing
approach. Besides this framework envisions that
parts of the application are kept locally while others
parts are migrated to cloud infrastructures.
3.4 Quality Aspects
With regard to criteria C4 (quality aspects) revealed
that the most frequently quality aspects were
performance/efficiency and security account for
around 31% and 24% respectively (Guillen et al.
(see Table 5.S07)) since on cloud environments the
elasticity property of applications where quick and
secure deployment is typically required. Others
quality aspects as maintainability and compatibility
account for around 3% and 9% respectively. This is
because of quality aspects such as maintainability to
play a minor role because the cloud providers are
responsible of this partly on their platforms.
On the other hand, reliability and portability
account with 21% and 10% respectively received
less considerations (e.g., Babar et al. (see Table
5.S01)), where the authors stated that one example
of such requirement is constrains on the geographic
locations of data storage places. For some
applications, it is required that data should not store
outside a particular region. In IaaS clouds, data is
WEBIST2014-InternationalConferenceonWebInformationSystemsandTechnologies
212
maintained at different location for reliability and
cost effectiveness.
It is worthy to mention that the analysis of the
number of research studies on cloud migration
showed that there has been a growth of interest on
this topic since 2009. Figure 1 shows the number of
selected publications per year and source.
Figure 1: Number of publications by year and source.
4 CONCLUSIONS
The results suggest that research into cloud
computing migration is still in its early stages. We
identify research gaps and provide general
recommendations about how these gaps may be
addressed as well as future research directions that
may have potential impact on the field.
Some of the gaps found are: i) MDD approach
had been rarely used in the process to migrate SOA
applications to Cloud environments; and ii) Some
quality characteristics which we consider relevant in
applications (reliability, maintainability, portability)
had not received appropriate coverage.
Our results also confirmed some claims stated by
other researchers according to the cloud migration:
there is a lack of literature to support the migration
process. We recommend the use of Model-Driven
Development approach since it provides a higher
abstraction level than traditional programming
languages. We are also intended to address some of
the research gaps discovered. For instance,
addressing migrate SOA applications to Cloud
environment through a migration framework using
MDD techniques taking advantage of its benefits.
ACKNOWLEDGEMENTS
This research was supported by the Senescyt-
Ecuador (scholarship program 2011) and ValI+D
fellowship program (ACIF/2011/235).
REFERENCES
Andrikopoulos, V.; Binz, T.; Leymann, F.; Strauch, S.,
2012. How to adapt applications for the Cloud
environment. Computing, 95(6), pp.493–535.
Budgen, D.; Turner, M.; Brereton, P.; Kitchenham, B.,
2008. Using Mapping Studies in Software
Engineering. In Proceedings of PPIG 2008. Lancaster
University, pp. 195–204.
Feuerlicht, G., 2010. Next Generation SOA: Can SOA
Survive Cloud Computing? In Advances in Intelligent
Web Mastering-2. pp. 19–29.
International Organization for Standardization, 2011.
ISO/IEC 25010: Systems and software engineering —
Systems and software Quality Requirements and
Evaluation (SQuaRE) — System and software quality
models.
Kitchenham, B. & Charters, S., 2007. Guidelines for
performing Systematic Literature Reviews in Software
Engineering,
Mell, P. & Grance, T., 2011. The NIST Definition of
Cloud Computing, Recommendations of the National
Institute of Standards and Technolog. National
Institute of Standards and Technology.
Mohagheghi, P. & Sæther, T., 2011. Software Engineering
Challenges for Migration to the Service Cloud
Paradigm: Ongoing Work in the REMICS Project. In
2011 IEEE World Congress on Services. IEEE, pp.
507–514.
Pace, E.; Betts, D.; Densmore, S; Dunn, R., 2010. Moving
Applications to the Cloud on the Microsoft Azure
Platform, Microsoft Press.
Petersen, K., Feldt, R., Mujtaba, S., Mattsson, M., 2008.
Systematic mapping studies in software engineering.
12th International Conference on Evaluation and
Assessment in Software Engineering (EASE), pp.68–
77.
Watson, R., 2012. How to migrate applications to the
cloud. Information Age. Available at: http://
www.information-age.com/technology/applications-
and-development/1681988/how-to-migrate-
applications-to-the-cloud [Accessed October 1, 2013].
AreModel-drivenTechniquesUsedasaMeanstoMigrateSOAApplicationstoCloudComputing?
213