literature review
The Journal of Systems and Software 120 (2016) 31–69
Contents lists available at ScienceDirect
The Journal of Systems and Software
journal homepage: www.elsevier.com/locate/jss
Cloud migration process—A survey, evaluation framework, and open
challenges
Mahdi Fahmideh Gholami a , ∗, Farhad Daneshgar a , b , Graham Low a , Ghassan Beydoun c
a Information Systems, Technology and Management Australian School of Business, University of New South Wales, West Wing Room 2106, Quadrangle
Building, Sydney 2052, Australia b Bangkok University, Bangkok, Thailand c School of Management, Leadership and Information Systems, University of Technology Sydney, Australia
a r t i c l e i n f o
Article history:
Received 15 December 2015
Revised 17 April 2016
Accepted 27 June 2016
Available online 28 June 2016
Keywords:
Cloud migration
Legacy application
Evaluation framework
Migration methodology
Process model
Cloud computing
a b s t r a c t
Moving mission-oriented enterprise software applications to cloud environments is a crucial IT task and
requires a systematic approach. The foci of this paper is to provide a detailed review of extant cloud
migration approaches from the perspective of the process model. To this aim, an evaluation framework
is proposed and used to appraise and compare existing approaches for highlighting their features, simi-
larities, and key differences. The survey distills the status quo and makes a rich inventory of important
activities, recommendations, techniques, and concerns that are common in a typical cloud migration pro-
cess in one place. This enables both academia and practitioners in the cloud computing community to get
an overarching view of the process of the legacy application migration to the cloud. Furthermore, the sur-
vey identifies a number challenges that have not been yet addressed by existing approaches, developing
opportunities for further research endeavours.
© 2016 Elsevier Inc. All rights reserved.
1
a
a
e
c
t
a
t
r
a
b
m
g
K
d
f
s
o
f
f
b
o
t
a
d
m
a
m
e
t
a
h
t
e
d
a
i
m
s
o
l
h
0
. Introduction
Many enterprise software applications that support IT functions
re characterized by the need for high computing capability, scal-
bility, and resource consumption ( Buyya et al., 2009; Armbrust
t al., 2010 ). In recent years, cloud computing initiatives have re-
eived significant attention towards addressing these requirements
hrough offering services in various forms such as SaaS (software
s a service), PaaS (platform as a service), and IaaS (infrastruc-
ure as a service) which are universally accessible, acquirable, and
eleasable on the fly, and payable on the basis of service usage
mount. Given these advantages, many IT-based organisations have
een interested in moving their legacy assets to cloud environ-
ents. It is estimated that the global cloud computing market will
row from $40.7 billion in 2011 to $241 billion in 2020 ( Ried and
isker, 2011 ). So far, a significant collection of research has been
evoted to this topic by both academia and practitioners ranging
rom pure technical-centric solutions related to the using of cloud
ervices, to research around the social and non-technical impact
f the cloud as a new emerging paradigm. However, studies that
ocus on designing approaches offering a process model (method-
∗ Corresponding author. E-mail addresses: m.fahmidehgholami@unsw.edu.au (M.F. Gholami),
.daneshgar@unsw.edu.au (F. Daneshgar), g.low@unsw.edu.au (G. Low),
eydoun@uow.edu.au (G. Beydoun).
t
t
s
t
s
ttp://dx.doi.org/10.1016/j.jss.2016.06.068
164-1212/© 2016 Elsevier Inc. All rights reserved.
logy) for the cloud migration have not yet received much atten-
ion. Several studies such as Mohagheghi et al. (2010) , Chauhan
nd Babar (2012) and Jamshidi et al. (2013) suggest that a well-
efined process model for supporting the migration (or develop-
ent) and maintaining working legacy applications to the cloud is
key concern. A rigorous approach is particularly important when
oving large scale and complex legacies which have been in op-
ration and stored critical data over the years. Moving legacies to
he cloud raises many concerns such as security, interoperability,
nd vendor lock-in.
Legacy applications often predate the cloud computing and thus
ave been developed without taking into account the characteris-
ics of cloud environments. The complexity of migration is exac-
rbated by the fact that some legacy applications may have been
eveloped without taking into account the unique requirements
ttributed to cloud environments such as elasticity, multi-tenancy,
nteroperability, and cloud service/platform selection. Such require-
ents raise new challenges that entail to improve conventional
oftware (re-engineering) development methodologies or to choose
nes that address these specific requirements towards making a
egacy application cloud-enabled. Various projects and studies in
he cloud computing community have been suggested in order
o enable legacy applications to utilize cloud services. A well-
tructured methodology can aid developers to carry out an effec-
ive and safe application migration, instead of struggling to under-
tand “what” and “how” to carry out such a transition in an ad-hoc
32 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
g
l
c
p
p
t
r
S
t
s
2
s
i
c
t
m
e
2
manner which may latter result in poor and erroneous migration
and maintenance overhead. A methodological approach can be ac-
claimed as promising mean for tackling the cloud migration com-
plexities and move from an ad-hoc cloud migration to a structured
and step by step quality methodology. In this spirit, Laszewski and
Nauduri (2011) , who are the designer of a methodology for moving
Oracle legacy applications to the cloud, mention: Like any software
development project, migration projects require careful planning and
good methodology to ensure successful execution. A similar recom-
mendation is stated in the final report of REMICS project, which is
a three years research project supported by the European Commis-
sion and focuses on a methodological support for moving legacy
applications to cloud platforms ( Benguria et al., 2013 ). The above
report mentions that in the beginning it [legacy migration] was mo-
tivated by the lack of documentation, but in the last years it has been
motivated by adaptation to new technologies. Each new technology
has required new and renewed approaches and technologies to ad-
dress the migration process in a more effective way .
As will be elaborated in Section 2.3 , there are several surveys
in the literature each focuses on different aspects of cloud migra-
tion such as interoperability, techniques and tools for migration,
and cloud architecture design. Although these surveys provide a
partial understanding of certain aspects of the legacy to cloud mi-
gration, they do not provide a complete picture of how the cloud
migration is to be carried out and organised from the perspective
of the process model. There is not yet a rigorous analysis of the
extant material on this aspect of the cloud computing. For this rea-
son and regarding the fact that the interest for legacy application
migration to the cloud grows, there is a need to contribute a sur-
vey that distills existing cloud migration approaches by identifying
their common characteristics and varying motives, concomitant ac-
tivities, and empirical findings. This survey will differ from exist-
ing related surveys ( Section 2.3 ) by focusing on the process aspect
of the cloud migration to understand what essential activities and
concerns are involved during such a transition. By comprehensively
reviewing existing cloud migration approaches, we thus position
this survey as the newest reference point for the cloud computing
research and practice. Accordingly, the current study will attempt
to answer the following research questions:
– RQ1. What are the existing approaches proposing a migration
model for moving legacy applications to cloud environments in
the literature?
– RQ2. What is the current state of these approaches w.r.t. the
proposed evaluation framework introduced in Section 3 ?
RQ2.1. what generic criteria, as typically expected for a
software development methodology, are supported by these
approaches?
RQ2.2. what cloud-specific criteria are supported by these
approaches?
RQ1 is motivated by the need to describe the state of the art of
cloud migration approaches. This gives readers an overall under-
standing of approaches’ core idea, their objectives, and a concise
description of them. RQ2 was formulated to characterise as well
as highlight the focus of approaches with respect to two dimen-
sions. (See Section 3 ). More specifically, RQ2 aims to answer two
sub-research questions RQ2.1 and RQ2.1.
RQ2.1 assesses generic criteria that any process model would
need to address regardless of its application genre. RQ2.2 is related
to the evaluation of cloud-specific aspects of available migration
approaches. This decomposition is a first step in the synthesis of
the evaluation framework which we will later use to identify and
highlight a rich collection of key activities and recommendations
that existing approaches include. In summary, the contributions of
this paper are the following:
– To provide a deep understanding of the current state of migra-
tion approaches proposed in the literature, understand insight-
ful activities and recommendations to be learned,
– To help both researchers and practitioners in the cloud commu-
nity if they want to capture key facets of existing approaches
and select or discard one or collection of them that may suit
their needs for a particular migration exercise, and
– To give a broad view of research challenges, specifically con-
cerned with process models for the legacy to cloud migration
that need to be investigated by researchers. Hence, a gateway
to new research opportunities can be opened.
This paper is structured as follows: In Section 2 , we give a
eneral review of terms related to the cloud migration, key chal-
enges that need to be addressed in a typical migration pro-
ess, and the related work to this paper. Section 3 describes pro-
osed evaluation framework designed for the purpose of this pa-
er. Section 4 presents the research methodology that was adopted
o conduct the current study. Section 5 reports the findings of the
eview after identifying the existing approaches from the literature.
ection 6 discusses the remaining challenges and promising direc-
ions for future research. Section 7 presents the limitations of this
urvey. Finally, Section 8 concludes this paper.
. Background and related work
As with all new areas of study, an etymological analysis is in-
tructive. This is first undertaken in this section to give some clar-
ty as to what a cloud migration and methodology mean in the
ontext of cloud computing ( Section 2.1 ). This section then iden-
ifies technical and organisational concerns of the legacy to cloud
igration ( Section 2.2 ) and provides a review of surveys related
ffort s ( Section 2.3 ).
.1. Etymology
– Cloud migration and methodology . In software engineering (SE)
a software development methodology can be defined as a sys-
tematic way of doing things in a particular discipline ( Gonzalez-
Perez and Henderson-Sellers, 2008 ). Another definition can be
borrowed from Avison and Fitzgerald (2003) : a recommended
collection of phases, procedures, rules, techniques, tools, documen-
tation, management and training used to develop a system . A
methodology organises the coordination of development team
members, integration of project activities, and specifies when
certain activities, which contains sequence and input/output ar-
tifacts, should be carried out.
Migration of legacy applications to the cloud signifies that
an organisation has already in place existing software ap-
plications earmarked to take advantages of cloud services. A
common understanding of the term cloud migration , as offered
by Chauhan and Babar (2012) , is the reengineering process
of legacy applications for becoming cloud-enabled. That is,
migration to the cloud is a kind of software reengineering
where the target application will be able to interact or become
integrated with cloud services. Another definition, offered by
Andrikopoulos, views the cloud migration process as a set of
architectural adaptations/modifications required to ensure a
legacy application becoming cloud-compliant ( Andrikopoulos
et al., 2013 ). Similarly, Kwon et al. pose the term cloud refac-
toring in which code transformation mechanisms are used to
integrate legacy applications and cloud services ( Kwon and
Tilevich, 2014 ). Another yet broader and workable definition,
which covers both technical and non-technical aspects of the
cloud migration is suggested by Pahl et al. (2013) as: A cloud
migration process is a set of migration activities carried to support
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 33
t
i
c
d
a
e
c
L
b
1
r
i
w
a
o
d
C
T
h
e
u
l
d
m
n
(
o
b
c
c
2
a
a
e
e
a
a
p
i
e
2
T
2
r
g
i
g
i
t
an end-to-end cloud migration. Cloud migration processes define
a comprehensive perspective, capturing business and technical
concerns. Stakeholders with different backgrounds are involved.
One can envisage a cloud migration methodology as an ex-
ended traditional software development methodology to enhance
ts capability to support moving legacies (or development) to the
loud.
– Legacy Application. This paper focuses on approaches address-
ing the migration of legacy applications to cloud environments.
As such, we also analyse the term legacy. In software engi-
neering literature many definitions can be found for the term
legacy applications. One of the earliest definitions is the fol-
lowing: large software systems that we don’t know how to cope
with but there are vital to our organization ( Bennett, 1995 ). Simi-
larly, Stonbraker mentions that a legacy application is any system
that significantly resists modification and evolution ( Brodie and
Stonebraker, 1995 ). Sneed states they are information systems
that have been in use for years ( Sneed, 2006 ). Others emphasise
technological aspects. E.g1, Stone distinguishes legacies as those
that are not Internet-dependent ( Stone, 2001 ). E.g2, Dedeke de-
fines it as an aggregate package of software and hardware solu-
tions whose languages, standards, codes, and technologies belong
to a prior generation or era of innovation ( Dedeke, 2012 ).
A common finding in all above definitions is a dialectic tacit
ependence and acknowledgment of the worthiness of the legacy
pplications. Holland explicitly mentions that legacy applications
ncapsulate the existing business processes, organization structure,
ulture, and information technology ( Holland and Light, 1999 ).
ikewise, legacies have been characterised as massive, long-term
usiness investment, and crucial to an organization ( Bisbal et al.,
999 ). Legacies are one of the major components of organisations,
epresent business services and repository of knowledge of organ-
sations, and they can provide a significant competitive advantage
ith a positive return and contributing to the organisation revenue
nd growth ( Bennett, 1995; Sneed, 1995; Erlikh, 20 0 0 ).
From the technical point of view, the term legacy application is
ften collocated with a very old generation of technologies, stan-
ards, protocols and programming languages such as FORTRAN,
OBOL, or C languages, and old indexed database and file systems.
hey are often associated with old mainframe applications, with
ardware support and operational costs that are responsible for
normous transaction processing and supporting thousands of
sers and concurrently accessing numerous resources. Neverthe-
ess, modern client-server software applications, which have been
eveloped using the latest tools and technologies available in the
arketplace such as .Net Framework and J2EE, but currently do
ot satisfy new business requirements are considered as legacy
Khadka et al., 2013; Sneed, 2006 ). A common architecture style
f enterprise applications is 3-tiered, i.e. a user interface tier,
usiness logic tier, and data tier. Each tier can have multiple
omponents which can be deployed in different servers and
ollaborate together.
– Different types of legacy migration to the cloud . Taking into
account the major cloud service delivery models, i.e. IaaS
(infrastructure as a service), PaaS (platform as a service),
SaaS (software as a service), one can view there are several
possibilities in order to make legacies cloud-enabled to utilise
cloud services. In this survey, these are called the variant types
of the legacy to cloud migration. From this angle, a cloud
migration methodology can then be viewed as a systematic
process model to perform one or more migration type(s).
Inspired by the classification introduced in Andrikopoulos et al.
(2013) , Table 1 presents definitions and examples of such
variants. Each migration type may raise different concerns. For
example, if a migration type II is intended, where a legacy
application is reengineered to SaaS, then multi-tenancy aspects
such as application customisability and resource provisioning
are needed to be properly addressed in the legacy application.
On the other hand, in the case of encapsulating an application
into a virtual machine and deploying it in the cloud (migration
type V), enabling the feature multi-tenancy might be of less or
not concerned. As another example, the migration of a legacy
relational database to a NoSQL cloud database service (type IV)
may raise incompatibility issues between the functionalities of
the legacy relational database tier and equivalent ones offered
by NoSQL cloud database. Cloud migration approaches may be
designed to define a process model for a particular migration
type while ignoring the others.
.2. Key concerns in application migration to cloud environments
It is suggested that since cloud environments are not mature
nd secure enough, some legacies such as safety critical software
pplications (e.g. military, aviation, and aerospace) might not ben-
fit directly from the cloud (Marston, Li et al. 2011, Andrikopoulos
t al. 2013 ). Other applications such as some business enterprise
pplications can be reengineered to be cloud-enabled. Moving such
pplications to the cloud seems similar to conventional legacy ap-
lication reengineering. However, such a transition should also sat-
sfy special concerns attributed to the cloud. Drawing on the gen-
ral literature on the cloud computing ( Fox et al., 2009; Brebner,
012; Rimal et al., 2009; Guo et al., 2007; Nathuji et al., 2010;
oosi et al., 2014; Dalheimer and Pfreundt, 2009; Ristenpart et al.,
009 ), we identified six cloud intrinsic key concerns as follow: (i)
esource elasticity, (ii) multi-tenancy, (iii) interoperability and mi-
ration over multiple-clouds, (iv) application licensing, (v) dynam-
city and unpredictability, and (vi) legal issues. These concerns trig-
er considerations that an application owner should consider them
n the migration process. The remainder of this section delineates
hese six concerns.
(i) Resource elasticity. The cloud environment can be viewed
as an infinite pool of resources such as CPU, memory, stor-
age, and network bandwidth which can be acquired and re-
leased by applications based on demand ( Fox et al., 2009;
Brebner, 2012 ). Nevertheless, running an application on the
cloud does not provide elasticity per se, rather the applica-
tion needs to optimise resource usage in the case of fluctua-
tion in workload. Many legacies might not have been imple-
mented with a support of dynamic scaling up/down of re-
sources. They assume that the elasticity is supported by pro-
viding more powerful physical servers. Inevitably, the legacy
architecture needs refactoring and modifications to support
the elasticity. Addressing the resource elasticity is concerned
in the migration types I, II, and V.
(ii) Multi-tenancy . In the cloud, each service consumer is called
a tenant ( Rimal et al., 2009; Guo et al., 2007 ). Multi-tenancy
is an ability to use the same instance of a resource at the
same time by several tenants. On the side of cloud service
provider, multi-tenancy maximises the resource utilisation
and profit since only one application instance is required
to deploy in the cloud. On the cloud consumer side, each
consumer feels that he/she is the only users of the appli-
cation. Tenants can customise application components, such
as user interface appearance, business rules and sequence
of workflow execution, and last but not least the applica-
tion code. However, migration from a single-tenant architec-
ture to multi-tenant one raises several issues, specifically in
the case of applying the migration type II. As tenants are
34 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Table 1
Definitions of the migration types.
Migration Symbol Migration type definition
Type I Deploying the business logic tier of legacy application (e.g. WS-BPEL), which offer
independent and reusable functionalities, in the cloud infrastructure by applying
the delivery model IaaS. In this migration type, the data tier remains in local
organization network. Deploying an image-processing component of an
application in E2C, is an example of this migration type.
Type II Replacing some components or whole legacy application stack with an available
and fully tested cloud service, by applying the service delivery model SaaS. The
Salesforce CRM application is a typical example of SaaS, which can be integrated
with other applications via its interfaces.
Type III Deploying the legacy database in a cloud data store provider through IaaS delivery
service model. The components related to business logic tier are kept in local
organisation network and the database is deployed in public cloud data store e.g.
Amazon Simple Storage Service (S3), Amazon Elastic Block Store (EBS), Dropbox,
Zip Cloud, and Just Cloud.
Type IV Converting the data, schema, and modifying data tier of legacy data tier to a cloud
database solution provider e.g. Amazon SimpleDB, Google App Engine data store,
or Google Cloud SQL.
Type V Deploying the whole application stack in the cloud infrastructure via service
delivery model IaaS. The application is encapsulated in a single Virtual Machine
(VM) and then is run in the cloud. Hosting a Web application and its Web server
as a VM on E2C is an example of such migration.
V.
dedicated to the same instance of an application, there is
often a risk that tenant’s QoS is negatively affected by other
tenants. For example, the performance of a tenant that uses
one core of a multicore processor may significantly be re-
duced when another tenant runs an adjacent core and per-
forms a massive workload ( Nathuji et al., 2010 ). The ten-
ant isolation for QoS satisfaction (e.g. performance, security,
availability and customizability) should be addressed in a
cloud application.
(iii) Interoperability and migration over multiple-clouds . The
cloud environment is proliferated with numerous services
which bring a wide range of possible building blocks to de-
velop a fully-fledged cloud application. Interoperability be-
comes an issue if an application is built via a composition
of cloud services that are developed by different providers.
Each provider may use different underlying technologies and
proprietary APIs to develop its services ( Toosi et al., 2014 ).
These issues face developers to heterogeneities across the
application tiers, which imply a certain level of development
effort, specifically in migration types I, II, III, IV, and V. Ad-
vancements in the cloud computing is still on on-going track
and there is not a common standard for development cloud
services. Due to incompatibilities between cloud platforms,
moving applications from a provider to another provider is
a challenging process.
(iv) Application licensing. The advantage of the elasticity of-
fering by the cloud may raise a licensing issue in partic-
ular for the migration types I, II, and V. For example, as-
sume an organisation has contracted for K number of appli-
cation licenses and pays a fixed annual fee. Once encapsu-
lated into a virtual machine and run in the cloud, multiple
instances of the application are created by a server based
on the workload fluctuation. As such, the restriction on K
instances is unintendedly violated. It seems that traditional
licensing model for commercial applications is not workable
for cloud-based software. In some cases, a dynamic licensing
mechanism is implemented in the application by its owner
( Dalheimer and Pfreundt, 2009 ). Alternatively, the licensing
issue can be resolved via a negotiation between the applica-
tion owner and provider.
(v) An unpredictable environment . Cloud services may not be
accessible all the time due to some reasons such service out-
age, network failure, transient problems in network, and ser-
vice middleware failure. As an example, the sudden crash
of Amazon EC2 cloud in 2011 caused the website of sev-
eral high-profile companies down for hours ( Blodget, 2011 ).
Data loss was minor though it could be very harmful. De-
velopers should empower the application with proper coun-
termeasures to deal with such behaviours though in some
cases unpredictability can be out of the control of either ap-
plication owner or cloud provider.
(vi) Legal issues . Beyond the technical aspects as mentioned
above, organisations have a common concern about the ex-
act location where their application components will be
hosted, executed, and data processed ( Ristenpart et al.,
2009 ). In the cloud, there is no longer an assumption about
the location of an application. It may move between differ-
ent servers based on the server workload and load balanc-
ing mechanism defined by the cloud provider/consumer and
network traffic. An application owner might not be able to
determine the exact location of the code execution. While
cloud providers are also a target for malicious cyber-attack,
the application security can be compromised (Hay, Nance
et al. 2011). To protect application components for confiden-
tiality, developers need to provide mechanisms in the appli-
cation to ensure the security of sensitive data within legal
boundaries, specifically those components may be relocated
between servers in different geographical areas, specifically
in the case of applying the migration types I, II, III, IV, and
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 35
2
o
a
p
c
t
s
t
o
i
p
a
(
t
b
t
a
t
i
r
R
M
c
t
c
p
t
m
n
i
fi
m
o
m
g
i
f
S
t
f
n
o
c
m
t
I
t
(
t
a
p
t
i
p
f
v
c
O
(
v
d
e
i
t
t
v
d
i
i
m
f
m
w
v
p
i
u
p
c
(
p
t
i
d
t
v
t
t
t
m
a
3
a
c
t
c
d
t
i
s
g
g
s
e
w
R
a
a
m
s
i
e
(
d
S
a
a
c
t
i
.3. Related surveys
While there are several published surveys on different aspects
f cloud computing, to the best of our knowledge, there is not
survey devoted to review the literature on existing approaches,
roposing in a process model for moving legacy applications to the
loud. Perhaps, the closest studies to this paper are those related
o migrating legacies to SOA because SOA and cloud computing
hare similar characteristics such as using services as basic blocks
o build reliable and secure applications ( Yi and Blake, 2010 ).
Razavian and Lago (2015) report a systematic literature review
f SOA migration approaches. Their key goal of the survey is to
dentify commonalities and differences between 75 identified ap-
roaches and propose a reference model of typical activities that
re carried out for the legacy to SOA migration. Khadka et al.
2013) provide a historical review of methodologies for the legacy
o SOA migration. The objectives of this review are (i) to reach a
road understanding of existing process models for legacy evolu-
ion to SOA (ii) identify available techniques to perform migration
ctivities, and (iii) identify the existing issues and possible direc-
ions for future research. Through evaluating 121 primary stud-
es using an evaluation framework, inspired from three traditional
eengineering methodologies namely Butterfly ( Bisbal et al., 1997 ),
enaissance ( Warren and Ransom, 2002 ), and Architecture-Driven
odernization (ADM) ( Khusidman and Ulrich, 2007 ), the authors
onclude that there is still a lack of adequate automation level and
echniques for determining the decomposability of legacy appli-
ations, investigating organisational perspective of migration, and
ostmortem reports on after-migration experience. In another at-
empt, Lane and Richardson (2011) present a survey of process
odels to develop service-based applications with a focus on dy-
amic adaptation. Subsequently, they developed a meta-model giv-
ng an overarching view of development processes of 75 identi-
ed methodologies. On the basis of evaluation results using this
eta-model, they found that increasing the automation of devel-
pment process using model-driven development techniques is the
ost common theme in the reviewed methodologies. They also ar-
ued that existing methodologies suffer from a lack of real empir-
cal validation. Even though the abovementioned surveys are help-
ul, they are silent to address the cloud-centric challenges stated in
ection 2.2 .
Jamshidi et al. (2013) identified: (i) the main drivers which mo-
ivate organizations to move their legacies to the cloud, (ii) dif-
erent types of migration activities might be performed, (iii) tech-
iques and tools, and (iv) existing gaps in the literature. Twenty-
ne studies on the cloud migration were evaluated against a
haracterisation framework including contribution type, evaluation
ethod, means of migration, migration type, migration tasks, in-
ents of the migration, migration tool support, and constraints.
n another review, the REMICS consortium presents the state of
he art with respect to modernisation methodologies and tools
Barbier and Hein, 2011 ) that support the automatic transforma-
ion of legacy application components to cloud environments in
model-driven fashion. However, none of the preceding surveys
lace particular focus on approaches for moving legacy applica-
ions to the cloud. A number of other review papers were also
dentified but they fall outside the scope of this survey. For exam-
le, Girish and Guruprasad (2014) focuses on six data frameworks
or the cloud migration. Furthermore, Medina and García (2014) re-
iews research related to live migration mechanisms of virtual ma-
hines which move from one host to another over cloud network.
ther studies such as Singh and Chana (2012) and Taher et al.
2012) report general challenges of cloud-based application de-
elopment in terms of cloud-based architecture, component-based
evelopment and reusability, quality, design, and security.
The survey provided in the current study is different from the
xisting reviews in three salient aspects. Firstly, this survey limits
ts focus on all extant approaches proposing a (complete or par-
ial) migration process model or framework for the cloud migra-
ion, and hence is more specific than the above-mentioned sur-
eys. None of the reviewed surveys (see Table 2 ) provides an in-
epth discussion on the features and migration activities proposed
n the existing approaches as well as useful experience of apply-
ng these approaches in practice. Secondly, this survey provides a
eticulous analysis of existing approaches through an evaluation
ramework, which encompasses 28 criteria classified into two di-
ensions i.e. generic and cloud-specific ones. The proposed frame-
ork has been derived from an extensive literature review and
alidated through a Web-based questionnaire survey of 104 ex-
erts from academia and experts in the field of cloud comput-
ng. Since all related surveys fail to consider the important eval-
ation criteria that the proposed framework includes, the pro-
osed evaluation framework is an important contribution of the
urrent study. The characterisation framework of Jamshidi et al.
2013) does not include any generic criteria as offered by our pro-
osed evaluation framework. For the cloud-specific dimension, al-
hough 11 criteria have been referred by their framework, there
s no elaboration on assessment of approaches. Thirdly, given our
ifferent focus, none of the related work covers the papers that
his paper reviews. We found that only 5 out of our 43 re-
iewed papers were covered by Jamshidi et al. (2013) . Finally,
his survey considers different and recently published approaches
hat are not covered in the other surveys. With respect to this,
his survey can be viewed as complementary one to the above-
entioned surveys through investigating different and recent
pproaches.
. Evaluation framework
We propose an evaluation framework leaning heavily towards
ssessing software development methodologies, allowing us to
lassify and characterise approaches applicable to the cloud migra-
ion, and answer to our research questions. The following meta-
riteria, suggested by Karam and Casselman (1993) , were used to
efine a fair evaluation framework that is: (i) sufficiently general
o all methodologies, (ii) precise enough to characterise the sim-
larities and differences of methodologies, (iii) and comprehen-
ive enough to cover all important requirements of methodolo-
ies. Given that, a two-dimensional set of criteria was developed:
eneric criteria and cloud-specific ones as shown in Fig. 1.
For the generic criteria dimension, we reviewed and synthe-
ised various existing frameworks that define criteria attuned to
valuate software development methodologies in SE. These frame-
orks were Karam and Casselman (1993) , Wood et al. (1988) ,
amsin and Paige (2008) , Sturm and Shehory (2004) and Tran
nd Low (2005) . Once the criteria in the above sources were an-
lyzed and redundancy and overlapping among them were re-
oved, 11 distinct criteria were derived for the purpose of this
tudy including (1) Process Clarity, (2) Procedure and Support-
ve Techniques, (3) Tailorability, (4) Development Roles, (5) Mod-
lling Language, (6) Traceability, (7) Work-Products, (8) Formality,
9) Scalability, (10) Tool Support, and (11) Domain Applicability. A
etailed description of these criteria is presented in Appendix F .
ection 5.3 motivates and elaborates each criterion by providing
detailed explanation for each, along with an evaluation result
gainst existing approaches.
For the second dimension, the framework was expanded with
loud-specific criteria that were deemed important and relevant
o legacy application migration to the cloud. This was initially
nspired by the study introduced in Strauch et al. (2014) and
36 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Table 2
Related surveys on SOA/Cloud migration.
Authors and title Study type Published channel Aim Publication
year
Total
reviewed
Time period of
included studies
M. Razavian, P. Lago, “A
systematic literature review on
SOA migration ”
Systematic
literature review
Journal of software:
evolution and
process
To review and analyse existing SOA
literature in order to identify
commonalities and difference
between designed migration
approaches. It designs a new
conceptual model including a
classification of activities carried
out for the legacy to SOA
migration.
2015 75 2003–onwards
R.Khadka, A. Saeidi, “Legacy to
SOA Evolution: A Systematic
Literature Review ”
Systematic
literature review
Book chapter To provide a broad understanding
of process model required for
legacy evolution to SOA, available
techniques to conduct migration
activities, existing issues, and
possible directions for future
research.
2012 121 20 0 0–August 2011
S.Lanea,I.Richardsona, “Process
Models for Service Based
Applications: A Systematic
Literature Review ”
Systematic
literature review
Information and
Software
Technology
To assess existing process models
for service-oriented application
development on the basis of a
generic process metamodel and
identify categorised activities
within those process models
focus area of existing
methodologies.
2011 57 October 2009
P.Jamshidi, A.Ahmad, “Cloud
Migration Research: A
Systematic Review ”
Systematic
literature review
IEEE Transactions
on Cloud
Computing
To identify the main drivers which
motivate organisations to migrate
legacies to the cloud, existing
approaches and different types of
migration activities, techniques,
and tools for migration.
2013 21 2005–2013
REMICS Consortium “State of
the art on modernization
methodologies, methods and
tools ”
Review REMICS (Public
deliverable)
To review traditional modernisation
methodologies and tools and
argue potential requirements for
designing cloud migration
methodologies.
2011 NA NA
Girish, “Survey on Service
Migration to Cloud
Architecture ”
Review Journal of
Computer
Science and
Engineering
Technology
To identify commonalties and
difference of some existing cloud
migration methodologies.
2014 22 NA
V. Medina, J. Garc, “A survey of
migration mechanisms of
virtual machines”
Review ACM Computing
Surveys
To identify live migration
mechanisms of virtual machines
moving from one cloud to
another.
2014 14 NA
S.Sukhpal, C. Inderveer, “Cloud
Based Development Issues: A
Methodical Analysis”
Review Journal of Cloud
Computing and
Services Science
(IJ-CLOSER)
To identify general issues in
development cloud-based
applications in terms of
cloud-based architecture,
component-based development
and reusability, quality, design,
and security.
2013 89 NA
Y. Taher, D. Nguyen, “On
Engineering Cloud Applications
- State of the Art,
Shortcomings Analysis, and
Approach ”
Review Scalable
Computing:
Practice and
Experience
To present a review of the
standardisation, methodology,
software, and products that
support development of
service-based applications in the
cloud and state existing gaps in
the literature.
2012 NA NA
a
r
c
s
(
T
c
E
A
u
M
La and Kim (2009) . They proposed a small set functional and
non-functional properties that should be addressed by an ideal
cloud migration methodology. These studies, however, were not
complete and well-articulated; nor enough attention was paid
to domain-independence, validation, and generality. Hence, we
strived to identify a coherent set of analysis criteria for inclusion
in the evaluation framework and accordingly to assess cloud
migration approaches. The derivation of the criteria was mainly
influenced by various sources in the cloud migration literature and
the reviewed approaches in this survey.
A criterion was included in the proposed framework if it had
addressed at least one of the concerns stated in Section 2.2 and c
lso sufficiently generic to cover a variety of migration scenarios
egardless of a particular domain. This resulted in defining 17
loud-specific criteria including (1) Analysing Context, (2) Under-
tanding Legacy Application, (3) Analysing Migration Requirements,
4) Planning Migration, (5) Cloud Service/Platform Selection, (6)
raining, Re-Architecting Legacy Application (including (7) In-
ompatibility Resolution, (8) Enabling Multi-Tenancy, (9) Enabling
lasticity, (10) Cloud Architecture Model Definition, (11) Applying
rchitecture Design Principles), (12) Training, (13) Test and Contin-
ous Integration, (14) Environment Configuration, (15) Continuous
onitoring, and (16) Migration Type, (17) Unit of Migration. These
riteria helped us to contrast and compare cloud-centric aspects
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 37
Fig. 1. Proposed evaluation framework for assessing various approaches (See Appendices ‘F’ and ‘H’ for the criteria definitions).
o
i
t
p
t
d
d
c
t
q
c
S
q
o
r
n
c
p
p
a
w
s
w
n
4
(
c
y
t
a
t
s
T
t
a
a
t
A
C
f
A
5
r
a
o
q
t
f
5
t
b
i
t
T
t
w
a
a
c
p
r
p
1
s
[
f existing approaches. Once these criteria were established, their
mportance and relevance to the cloud migration were assessed
hrough a Web-based survey of 104 experts from academia and
ractitioners in the cloud computing field. This gave confidence
hat important criteria are covered by the framework. For further
etail, we refer to the report ( Fahmideh, 2015 ) which provides a
etailed analysis of the criteria and suggested comments about the
riteria by the survey respondents. The above report also includes
he statistical analysis of importance of each criterion and the
ualitative comments of experts to justify the importance of each
riterion. The criteria are defined in Appendix H and described in
ection 5.4 .
Since the criteria were aimed to be measurable, evaluation
uestions were defined for each criterion, with four possible kinds
f answer for each as suggested by Kitchenham et al. (1997) : Nar-
ative, YES/NO, Scale, or Multiple choices. For open questions a
arrative answer was used; a YES/NO answer was given where a
riterion was met or not; an answer that is described by scale
oint refers to a degree of criterion support provided by an ap-
roach. Scale points were used during the evaluation process to
ssign a value for the level of support of a criterion. The frame-
ork defines three levels of scale as fully-supported ( ), partially-
upported ( ), and not-supported ( ). Finally, multiple choices
ere defined when there was a possibility to choose one out of a
umber of answers (for example, the criterion migration type).
. Survey
The systematic review procedure proposed by Kitchenham et al.
2009) was selected as a survey approach for the purpose of the
urrent paper. It is a well-recognized procedure to identify, anal-
se, and interpret all related studies with respect to a topic of in-
erest and includes three phases ‘Planning’, ‘Conducting Review’,
nd ‘Documenting Results’. In the Planning phase, a protocol for
he review is established which includes the defining of search
trings, study sources, and study selection and inclusion criteria.
hese definitions are used to conduct the next phase, which is
he Conducting Review phase. During this phase, primary studies
re identified from the literature, analysed against the inclusion
nd exclusion criteria, and necessary data items are extracted from
hem. In the last phase, the results of the review are documented.
ppendix A describes the steps were undertaken in each phase.
onsequently, 43 papers were identified, as the output of this step,
or the review after applying the inclusion and exclusion criteria.
ppendix B presents the list of the papers .
. Results
Through analysing 43 identified approaches, we answered three
esearch questions stated in Section 1 . Section 5.1 presents over-
ll demographic information about the studies including the year
f publication, publication channels, authors’ nationality, and the
uality assessment of the papers. Sections 5.3 and 5.4 describe
he analysis of the studies against each dimension of the proposed
ramework.
.1. Overview of approaches
Quality assessment. While a new research that contributes
o the literature is regarded as important, its findings might not
e reliable if it suffers from a lack of appropriate research qual-
ty ( Kitchenham et al., 2002 ). Nine criteria provide a measure of
he extent to which a research could contribute to the literature.
able I.1 ( Appendix I ) shows the results of the assessment. Given
he defined questions in Appendix C , the grading of each criterion
as based on three scales: ‘fully supported’, ‘partially supported’,
nd ‘not-supported’. Fig. 2 depicts the distribution of the identified
pproaches in terms of their support for the criteria.
According to Table I.1 the majority of the approaches have
learly stated a research aim. As many as 25 out of the 43 ap-
roaches have provided contextual information about the envi-
onment in which the research had been conducted. Seven ap-
roaches stated a general description of the research context whilst
1 ones did not state any information. As far as the criterion Re-
earch Design’ is concerned, only 6 studies (14%) [S4], [S15], [S17],
S20], [S31] and [S36]) provide a clear description of the research
38 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Fig. 2. Quality scores for the identified studies.
Table 3
Validation type.
Study Validation type Description Number
[S1], [S5], [S6], [S7], [S8], [S9], [S10], [S12], [S14], [S15],
[S16], [S17], [S20], [S22], [S23], [S25], [S27], [S29],
[S30], [S37], [S39]
Case study Case study has been used to investigate the approach
within real-life or exemplar context.
21
[S1] Questionnaire Experts were asked to answer questions about the
suitability and applicability of the suggested
approach.
1
[S4], [S15], [S18], [S34] (Semi-structured) interview Experts were interviewed about the quality of the
suggested approach.
4
[S18], [S34] Focus group A group of experts were asked about their opinions
towards the approach in an interactive group setting.
2
[S2], [S3], [S32] Example Application of the approach has been demonstrated
through an illustrative example.
3
[S11], [S36] Simulation A mathematic simulation used to assess the approach
correctness.
2
[S7], [S13] Theoretical evaluation The approach has been validated using a set of
high-level criteria.
1
[S26], [S33], [S35], [S43] Industrial experience The approach has been developed on the basis of
gained experience in an industrial experience.
4
[S19], [S21], [S24], [S27], [S28], [S31], [S38], [S40],
[S41], [S42]
Not stated The approach did not specify any applied validation. 10
r
e
[
e
O
t
5
f
c
a
s
p
t
I
d
u
d
f
design of the study. As many as 12 of the 25 studies did not
sufficiently describe their research design. Additionally, an overall
view of the scores in Table I.1 ( Appendix I ) reveals that a large
portion of the studies have not addressed the criteria ‘Data Col-
lection’, ‘Data Analysis’, and ‘Reflexivity’. More exactly, as many
30 and 31 studies ignored to report how data had been col-
lected and analysed for the validation of the proposed approach.
It can be seen that 39 studies (90%) did not report how re-
searchers have been involved with validation environment. From
this observation, one may conclude that the research methodol-
ogy has been viewed as a subsidiary task by the designers of ap-
proaches. We discuss this issue in Section 6 . Back to this table,
it can be seen that 17 approaches explicitly stated their contri-
butions to the literature. Only two studies (5%) [S15], and [S31]
achieved a full score on the quality assessment, and studies [S1],
[S7], [S21], [S23], [S38], [S42] received the lowest score in this
review.
For the criterion ‘Validation Type’, the studies were classified
according to the applied validation type as shown in Table 3 . The
majority of approaches applied the case study technique (21 stud-
ies), followed by techniques such as interview (4), industrial expe-
ience (4), example (3), focus group (2), simulation (2), theoretical
valuation (1), and questionnaire (1). Four of the studies (i.e. [S1],
S15], [S18], and [S27]) used a combination of validation types. For
xample, [S1] reported a case study in addition to a questionnaire.
f 43 approaches, 10 (23%) did not report any information about
he validation.
.2. RQ1 what are existing approaches proposing a migration model
or moving legacy applications to cloud environments?
Appendix D synopsises a description of the approaches, as-
endingly sorted based on published year. The appendix does not
im to present a critique of the existing approaches, rather it ab-
tracts the approaches and gives a broad understanding of their
erspectives to the cloud migration process, and facilitates for fur-
her investigation, elaboration and improvement of the approaches.
n Appendix D , the third column presents the theoretical foun-
ations used to design the approaches. According to this col-
mn, the motivation of the existing approaches varies between
ifferent streams as presented in Table 4 and described in the
ollowing.
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 39
Table 4
Classification of approaches based on theoretical foundation.
Foundation Approach Number
No specific foundation [S2], [S3], [S6], [S7], [S8], [S9], [S10],
[S12], [S16], [S17], [S18], [S19], [S21],
[S22], [S23], [S24], [S25], [S27],
[S28],[S29], [S30], [S33], [S34], [S35],
[S36], [S37], [S40]
28
Optimization [S11] 1
IT Capability Maturity Framework [S4] 1
Agile Scrum [S1] 1
Model-Driven Development [S14], [S15], [S26], [S41], [S43] 5
Software Product Line [S13], [S15] 2
Software Patterns [S20], [S42] 2
Supply Chain Lifecycle [S38] 1
Ontology-Based Reengineering [S39] 1
Conceptual Model [S31] 1
Total 43
5
d
p
e
m
i
d
i
t
s
e
t
5
p
o
t
t
s
w
s
t
T
a
m
e
n
r
g
m
m
– Model-driven development . The most applied paradigm is the
model-driven development with 7 approaches. Its primary goals
are portability, interoperability, reusability of applications as
well as increasing development speed. The approaches have
adopted model-driven development to transform the legacy
application models (e.g. codes and architecture) to platform-
independent models, configure them to generate platform-
specific cloud applications using model transformation tech-
niques. As an example, REMICS [S26] is a model-driven
methodology with a special emphasis on cloud-enabled lega-
cies that can be run on multiple clouds.
– Software product line (SPL) . The idea of SPL relies on techniques
for developing a set of similar applications satisfying the re-
quirements of a specific domain. In [S13] authors propose a
five-phased process model which incorporates software product
line techniques such as domain analysis and variability mod-
elling for various requirements into SaaS migration (Type II).
The approach highlights commonality and variability in legacy
applications and customises them for various cloud platforms.
Likewise, the approach suggested in Guillén et al. [S15] uses a
combination of SPL and model-driven development approaches.
It defines the notion of cloud artefacts which are high-level
models of target cloud application. Cloud artefacts are produced
based on cloud variability models and transformed to multiple
cloud platforms.
– Agile development . Incorporating Agile practice such as light
process, short release, and continuous testing into the cloud mi-
gration approaches process have received attention in the cloud
community. In the approach proposed by Krasteva and Stavru
[S1], authors pose whether legacy modernisation processes can
benefit from Agile practice. They suggested a Scrum-based ex-
tension of REMICS migration methodology.
– Software patterns. Patterns are reusable and good-enough ab-
stract solutions for recurring problems during the software
development. They can be used for developing applications
through an appropriate composition of their instances. Ap-
plied in the cloud migration, Jamshidi et al. [S20] proposed
15 fine-grained patterns as a sequence of architecture refac-
toring activities to integrate legacy components with cloud
services.
– Ontology-based reengineering. Ontologies express an area of in-
terest in a communicable and formal way. The ontology-based
approach offered by Zhou and Yang in [S39] is a reengineering
process thereby an ontology of enterprise legacy applications
is built and then decomposed into potential service to be mi-
grated to the cloud.
– Supply chain lifecycle . Lindner et al. [S38] state that the cloud
migration forms a supply chain model of different interconnect
cloud service providers and consumers. A service is provided at
the start of the supply chain and a consumer at the end uses
this service. A proper cloud supply chain model is required to
understand requirements of both providers and consumers dur-
ing this end-to-end migration process. Given that, they define
a breaking down all of the activities and steps, which aids an
organisation to migrate legacies to the cloud.
.3. RQ2.1 What generic criteria, as typically expected for a software
evelopment methodology, are supported by these approaches?
Appendix E presents the extent to which each approach sup-
orts five criteria Process Clarity, Procedure and Technique, Mod-
lling Language, Tailorability, and Tool Support. These criteria were
easured using three levels of scale (See Appendix F ). The follow-
ng subsections detail the definition of each criterion in the first
imension of the evaluation framework and justify the situation
n which the criterion is important. The evaluation results against
his dimension also reported. For those studies that provided a full
upport of criteria, we narrowed our analysis to identify any inter-
sting recommendations and reported experience for presenting in
his survey.
.3.1. Process clarity
Approaches differ in clarifying and specifying the detail of
hases and activities. Some of them offer the most prescriptive
nes whilst others, deliberately or not, provide a short descrip-
ion of the activities and leave a space for an arbitrary interpre-
ation of how activities can be carried out. The degree of pre-
cription is a helpful criterion for developers or organisations
ho are not familiar with the cloud computing technology and
eek a step-by-step methodic guidance on what phases and ac-
ivities should be followed to accomplish migration. According to
able E.1 ( Appendix E ), 35 out of 43 (81%) approaches were rated
s fully-supported as they provide a description of their suggested
igration activities. Seven out of 43 approaches provided a gen-
ral or short description of migration phases and activities with
o depth, rated as partially-supported. The only study which was
ated as not-supported was the conceptual process model sug-
ested by Jamshidi and Paul [S31], listing 20 key activities for a
igration process as a result of a literature review on the cloud
igration but without providing any details of them.
40 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Table 5
Identified development roles.
Role Approach Responsibility
Business Analysts [S8], [S18] Elaborating requirements, motivations for the cloud migration, objectives to be achieved, and cost analysis.
Systems Analysts [S8] Analysing technical incompatibilities between legacy application components and cloud services.
Project Managers [S8] Identification of potential cloud platforms/services.
System Architects [S8], [S18] Identifying a potential cloud hosting solution, analysing technical incompatibilities between legacy application and a chosen cloud
platform, design potential architecture solutions, evaluating QoS of cloud, and incremental architecture scoping and definition.
Developers [S8] Implementing or re-factoring the legacy architecture for moving the legacy application to a target cloud platform.
[
t
a
g
l
1
p
s
t
t
5
r
m
l
s
t
t
t
w
w
g
t
v
a
d
b
t
e
S
5
r
m
t
a
g
c
c
a
a
c
e
f
p
s
g
t
[
t
w
t
5.3.2. Procedures and supportive techniques
It is desirable that the approach elaborates its prescribed ac-
tivities by defining supportive techniques and examples in a way
that developers can simply understand and apply the approach.
Hence, if developers seek detailed advice on how to perform ac-
tivities or producing models rather than top-level descriptions,
those approaches that properly describe steps to conduct activities
take precedence over others. Twenty-three of 43 approaches pro-
vide examples of how their prescribed activities can be performed.
However, 14 approaches provide guidelines for some activities but
not for the whole process. It was found that 6 approaches do not
offer any advice on performing activities. Some examples demon-
strate how approaches offer techniques to conduct activities (more
detail on various supportive techniques is described in Section 5.4 ).
To resolve incompatibilities between legacy applications and cloud
services, the suggested approach in [S35], proposes typical patterns
such emulators, proxies, and data aggregators in order to migrate
the data tier of legacies to a cloud database solution. As another
example, a common concern in designing a new cloud-based ar-
chitecture for the legacy application is to define a proper deploying
and distributing of legacy components in cloud servers. With re-
spect to this, the approach proposed by Leymann et al. [S11] refers
to the legacy deployment in the cloud as a Move-to-Cloud Problem
and transform it into a graph partitioning problem. They use ex-
isting optimisation algorithm (e.g. simulated annealing) to find op-
timum distribution of legacy application components on different
cloud platforms.
5.3.3. Tailorability
Like any software development projects, a methodology should
be fine-tuned to characteristics and contingencies of a given cloud
migration scenario at hand. Hence, the thought of a universal cloud
migration methodology can meet all migration scenarios is viewed
fallacious. While methodology adherence can be beneficial, con-
structing situation-specific methodologies or tailoring existing ones
that meet project characteristics at hand should not be overlooked.
As an example, according to Louridas (2010) there is a difference
between the US and EU for addressing the ultimate to data protec-
tion in the cloud. That is, in the US, a cloud provider is responsible
for completely data protection whilst in EU, the cloud consumer
is responsible to ensure if the cloud provider satisfies data pro-
tection requirements. Ignoring this fact may affect the application
security in the cloud and raise exposure to vulnerabilities. As such,
security-related activities to protect legacy data tier should be in-
corporated into the migration process.
Given that the tailoring effort is an important part of the cloud
adoption, it deserves to examine if an approach provides mecha-
nisms or guidelines for its tailoring to be properly applicable. The
review showed that most of the existing approaches, except for
[S9], [S10], and [S26] which partially inform a need for method-
ology tailoring, are based on a one-size-fits-all assumption. Pro-
posed methodologies in [S9] and [S10], jointly, refer to tailoring
as methodology extensibility . REMICS [S26] methodology is a set of
method fragments that can be further selected and assembled re-
garding characteristics of a project at hand. ARTIST methodology
S43] provides a tool which allows the customisation and instan-
iation of the base methodology regarding the characteristics of
given migration scenario. Nevertheless, none of them provide a
uidance on the creation of a situation-specific methodology. Fol-
owing the idea of situational method engineering ( Brinkkemper,
996; Henderson-Sellers and Ralyté, 2010 ), Jamshidi et al. [S20]
ose an assembly-based approach wherein a methodology is con-
tructed through combining architectural migration patterns. But,
here is no further elaboration to accommodate configuration and
ailoring.
.3.4. Development roles
It deserves approaches to define roles, required expertise, and
esponsibilities associated with these roles in the course of the
igration process. This can be helpful for developers who have
imited experience in the cloud migration and are not quite clear
ure about these roles. Furthermore, depending on chosen migra-
ion type ( Table 1 ), different roles may be required or existing ones
o be tailored. For example, deploying the whole legacy applica-
ion stack in the cloud (the migration type V) would need a role
ho can analyse application workload and data storage growth;
hereas in the case of moving business tier to the cloud (the mi-
ration type I), a reverse engineer would be required to discover
he logic of legacy code blocks. An interesting finding in this sur-
ey was that, except for the methodology proposed by Chauhan
nd Babar [S8], the majority of the existing approaches had not
efined required roles. In another approach by Pahl [S18], roles are
riefly described but have not been linked to the migration ac-
ivities. Table 5 shows the description of suggested roles by the
xisting approaches. More discussion on this issue is presented in
ection 6 .
.3.5. Modelling language
An approach may specify a particular notation and semantic
ules for expressing the outcome of each migration activity, i.e.
odels (or work-products). Modelling will increase the automa-
ion and productivity of development process. If developers have
lready been using tools along with a supported modelling lan-
uage, this criterion can be helpful to select those approaches that
an be supported or integrated with existing tools. The modelling
riterion in the evaluation framework examines if an approach uses
particular notion to describe outputs from the activities as well
s the degree of support, i.e. partial or whole migration life cy-
le. In this regard, 29 approaches did not use or suggest any mod-
lling languages. Twelve approaches apply a modelling language
or some migration activities. Only REMICS [S26] and ARTIST [S43]
rovide a fully support this criterion for their entire lifecycles. Be-
ides, the approaches vary in applying the type of modelling lan-
uages. For example, REMICS [S26] and ARTIST [S43] use UML. On
he other hand, some approaches such as [S20], [S29], [S36], and
S40] keep modelling at the level of simple graphical diagrams and
exts. Table 6 shows the approaches that use a modelling language,
hether with a partially-supported or full-supported, along with
heir aim to use.
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 41
Table 6
Approaches incorporating modelling language into their suggested migration process.
Study Modelling language Aim
[S1] UML Modelling in general
[S11] UML Representing a deployment model of the cloud-enabled application, i.e. re-arrangement and provisioning of the application
components in the cloud.
[S12] AST and SoaML (i) AST (abstract syntax tree) for the source code representation (ii) SoaML for modelling individual service interfaces, service
implementation, and the architecture of target application.
[S13] UML Modelling commonality and variability in the target domain for which a legacy application is reengineered to a SaaS application.
[S15] Feature model and XSD (i) Describing target cloud platform using feature model (ii) Describing cloud deployment model using XSD schema diagram.
[S17] Simple Block Diagram Representing a legacy architecture model and its corresponding cloud deployment model.
[S20] Simple Block Diagram Representing cloud migration patterns to modify legacy application architecture.
[S21] Graph Modeling Legacy source code representation
[S26] UML In general
[S29] Simple Block Diagram Modelling application architecture before and after adding a support for multi-tenancy and architecture decoupling.
[S36] Simple Block Diagram Modelling the deployment of the application in the cloud.
[S37] UML Using state chart to model how application workload is moved from a cloud to another cloud.
[S39] UML and OWL Representing the legacy application architecture using UML and transforming it to ontology (UML to OWL model transformation).
Then partitioning the application ontology into potential service candidates.
[S40] Simple Block Diagram Modelling legacy application architecture and dependency tree.
5
i
a
h
o
l
a
w
a
s
p
[
a
[
e
c
p
(
r
c
t
m
s
t
n
5
w
c
e
a
m
fi
t
t
c
p
r
t
w
A
M
p
5
v
m
s
f
t
i
t
[
l
t
v
e
5
v
a
c
f
b
g
fi
t
o
p
5
t
p
t
i
a
5
o
c
p
s
p
p
i
s
.3.6. Traceability
Traceability refers to the relationships between work-products
n the whole process model in the sense that a model becomes
refinement of another model and all models can be traced to
igh-level requirements. This criterion, which pioneered by object-
riented methodologies, is important in order to understand the
inkages of a work-product to its previous and next work-products
nd to manage software changes during the lifecycle. Approaches
ere examined if they specify mechanisms or guidelines to refine
bstract models into more detailed models. One interesting ob-
ervation in this review was that the traceability is weakly sup-
orted in the existing approaches. Only 5 approaches ([S8], [S11],
S13], [S26], and [S43]) define the chain of work-product changes
s mentioned in the following. In the approach by Leymann, et al.
S11], models of a legacy application architecture are gradually
nriched by specification of related to legacy deployment in the
loud. Five approaches provide support for the traceability between
articular activities but not for whole migration process: [S12]
Legacy code model → architecture representation → architecture edesign), [S21] (Requirement analysis → Migration plan, Legacy ode → Code model → Legacy architecture → Cloud-service architec- ure model), [S41] (Legacy model → Target architecture → Mapping
odel → Constraint violation), [S43] (Source code → model under- tanding). Like many other areas of software development, the
raceability is a crucial concern and cloud migration approaches
eed to take it into account.
.3.7. Work-products (artefacts)
An integral part of every methodology is to define necessary
ork-products as the outcome of each activity throughout the life-
ycle. An approach that specifies work-products can be adopted
asier by developers using modelling tools in daily development
ctivities. The approaches were scanned to identify any recom-
ended work-product. It was found that 27 of 43 approaches de-
ned required work-products during the execution of the migra-
ion process. As approaches varied and played English words for
he naming of work-products, the identified work-products were
lassified based on their similarity, resulting in 11 distinct work-
roducts. In this regards, the first and third columns of Table 7 ,
espectively, show the work-product and different naming used by
he approaches. From this table, the most frequently recommended
ork-products are Legacy Application Architecture Model and Cloud
rchitecture Model as stated in 14 and 13 approaches, respectively.
igration Plan and Cloud Provider Profile are prescribed by 4 ap-
roaches.
.3.8. Formality
This criterion examines the extent to which an approach pro-
ides mathematical, unambiguous, and precise mechanisms for the
odelling language, representing work-products, and the relation-
hips among them. The majority of the approaches do not support
ormal definitions. The approach by Leymann, et al. [S11] applies
he graph partitioning problem and simulated annealing for select-
ng a subset of legacy components and optimizing the distributing
hem to different cloud servers. Moreover, Aakash and Ali Babar
S21] provide a set of mathematical operators for the transforming
egacy codes and architecture models to cloud-enabled ones. But
he definitions of the operators still required to be completed. Ob-
iously, if developers seeking for an approach that supports math-
matical modelling and reasoning, the current literature is silent.
.3.9. Scalability
Scalability is the applicability of a methodology to be used for
arious migration project sizes. Some methodologies can be suit-
ble for moving large and complex workloads from traditional data
entres to cloud infrastructures whilst others might be best suited
or a partial and light migration. A migration methodology should
e examined if it is appropriate to handle the intended scale of mi-
ration. A methodology supports the scalability if it explicitly de-
nes activities that are concerned with workload size, project size,
he degree of interconnectivity of legacy applications, the number
f legacies to be migrated. None of the reviewed approaches sup-
orts the scalability nor refers to it.
.3.10. Domain applicability
A particular interest about the approaches is to understand
he application domain for which they have been designed. Ap-
roaches were classified on the basis of their adherence to a par-
icular domain. As a result, 18 domains were identified, as shown
n Table 8. Twenty-three approaches did not clarify the applicable
rea that they might suit.
.3.11. Tool support
To automate migration activities, an approach can offer its tool
r alternatively refer developers to existing third-party tools in the
loud market. With respect to this criterion, 34 of 43 (79%) ap-
roaches did not offer any tools ( Appendix E , Table E1 ). As tool
upport for the whole migration process may not be practical, ap-
roaches vary in their focus and provide a partial automation sup-
ort. As an example, the tool suite (e.g. cost modelling, suitabil-
ty analysis, energy consumption, and stakeholder impact analy-
is) offered by the model of Khajeh-Hosseini et al. [S6] aids an
42 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Table 7
Methodologies prescribed work-products during migration process.
Work-product Migration
Type
Aim Referred names in studies Frequency
Requirement model All A set of computational requirements, motivations,
and objectives for the migration to the cloud.
System Requirements [S8], Recovered System
Requirements [S26]
2
Cloud provider profile All The profiles of potential cloud providers which can
satisfy legacy application requirements. The
profile characterises the providers in terms
scalability (vertical/horizontal), availability,
security, inter-operability, billing model, and
storage capacity.
List of Potential Cloud Environment [S8], A shortlist
of suitable suppliers [S4], Selected Cloud
Environments [S8], Selected cloud offering model
[S43]
4
Cloud architecture
model
All An architecture model which specifies the
distribution and deployment of legacy
application components in the cloud regarding
criteria such as network latency, data transfer,
regulations, privacy, and geographical locations
of components. The model also indicates which
application components are to be migrated to
which cloud and which components are kept in
the local network.
Cloud Distribution [S11], Cloud Deployment Model
[S22], Cloud Deployment Model [S28], Cloud
Deployment Architectures, Cloud Component
Model [S36], Target Architecture [S41], Cloud
Architecture Model [S29], Deployment Diagram
[S11], Architecture Diagram [S11], Cloud-service
Architecture [S21], Finalized Design Decision And
Modified System Architecture [S8], Cloud
outsourcing model [S4], Architecture [S18]
13
Interaction diagram All Representing how application components are
interacting in the a-synchronised and loosely
coupled cloud environments.
[S36] 1
Application variability
models/templates
Type II These models capture features/parameters and the
variation points of the application components in
the sense that application can be configured for
different deployment settings and execution in
cloud platforms. Variability models facilitate
application interoperability between different
cloud platforms.
Variability Models [S13], Cloud Variability
Models/Feature Model (deployment model, code
model) [S15], Variability Model [S29]
3
Migration plan All A plan to guide how to conduct the migration
process regarding migration needs and feasibility
analysis.
Migration Plan [S21], Roll-out plan [S38], Migration
Plan [S42], Plan [S40]
4
Cloud risk management All Remedy actions to handle cloud risks. A Cloud risk management strategy [S4] 1
Legacy architecture
model
All An architectural description of the legacy
application, the dependency between the
components, data model, and interfaces. This
model helps developers in a better
understanding of current state of the legacy
application and provides an insight of required
effort to resolve incompatibilities between legacy
application and target cloud solution.
Legacy Architecture [S21], Knowledge Model [S26],
Application profiling, Application Dependency
Mapping, Application Architectures [S27],
Application Model [S30], Source Code Ontology,
Database Ontology, Enterprise Ontology [S39],
Legacy Architecture [S40], Dependency Tree
[S40], Taxonomy of legacy artefacts [S43]
12
License agreement All A signed contract with cloud provider(s) indicating
a model for resource consumption cost.
SLA and Pricing document [S4], Pricing Model [S40] 2
Virtual machines Type V Specifications of running virtual models of
application in the cloud.
Implementation Unit (Virtual Machines) [S11] 1
Certification model All The confidence of end-user about the quality of
migrated application and its compliance with the
cloud.
Certification Model [S43] 1
Table 8
Application areas of the migration approaches.
Study Domain
[S1], [S4], [S5], [S7], [S11], [S13], [S16], [S18],
[S19], [S21], [S22], [S23], [S24], [S28], [S30],
[S31], [S34], [S35], [S38], [S40], [S41], [S42],
[S43]
Not specified
[S2] Commercial Medical Application
[S3] e-Tourism
[S6] University
[S20] Customer Relationship Management
[S8], [S39] Open Source System
[S9] e-Science applications (scientific workflow)
[S10] Enterprise Resource Management
[S12], [S27] Oil and gas
[S14] Document Processing
[S15] E-bank
[S17] Document management systems
[S25] Telecommunication
[S26] ERP
[S29] Medical Communications System
[S32] Stock Market
[S33] Digital Publishing
[S36] e-Commerce
[S37] Strategy Management Systems (SMS) based on Linux systems
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 43
Table 9
Approaches providing tool for migration activities.
Approach Activity Migration
Type
Availability Aim
[S6] Context analysis V Not-specified Supporting decision making during the suitability analysis of migration
in terms of operational cost, organisational change, energy
consumption, and stakeholder analysis.
[S9] Incompatibility resolution IV Available Supporting the data tier migrating to the public cloud and the
refactoring of the application components.
[S11] Design cloud solution V Not-specified Allowing developers to model application components and define
relevant criteria for the splitting components in the cloud.
[S39] Legacy application understanding All Available Extracting an ontology of source code, data, and architecture of the
legacy application.
[S26] Legacy application understanding II Available Discovering legacy application components.
Resolving incompatibilities between legacy and cloud services Resolving interoperability problem between legacy components and
third-party cloud services.
Design cloud architecture Generating a platform specific implementation model from the cloud
architecture model.
Test Creating test cases and test scenarios.
Deployment Generating a platform specific implementation model from the
architecture model by taking into account the constraints relevant to
the deployment of applications in the cloud.
[S40] Elasticity (resource provisioning) V Available Configuring amazon services (e.g. storage, resource).
Resolving incompatibilities between legacy and cloud services Integration legacy components with amazon cloud services.
Network configuration Configuring network and dynamic resource provisioning (e.g. elasticity,
virtualization, auto-scaling).
[S43] Context analysis II Available Analysing business and technical migration feasibility.
Legacy application understanding Representing high-level and platform-specific models of the legacy
application.
Incompatibility resolution Transforming legacy codes to the cloud target platform.
Test Supporting functional and non-functional testing.
Deployment Deploying application components in the cloud.
Table 10
Migration types and the classification of approaches based on the migration types.
Migration Approach Number
Type I [S1], [S3], [S5], [S15], [S17], [S18], [S35] 7
Type II [S1], [S5], [S8], [S12], [S13], [S15], [S17], [S18], [S26], [S34], [S35], [S41], [S43] 13
Type III [S1], [S14], [S15], [S17], [S18], [S34], [S35] 7
Type IV [S5], [S8], [S9], [S10], [S15], [S17], [S18], [S19], [S25], [S29], [S34], [S35] 12
Type V [S6], [S8], [S11], [S15], [S16], [S18], [S22], [S23], [S25], [S28], [S29], [S30], [S33], [S34], [S35], [S36], [S40], [S42] 18
In general [S2], [S4], [S7], [S20], [S21], [S24], [S27], [S31], [S32], [S37], [S38], [S39] 12
o
t
o
a
t
r
o
w
s
a
t
e
p
a
b
T
A
S
5
a
a
t
e
t
s
r
a
p
5
m
d
s
t
a
c
v
a
p
p
i
(
a
a
i
r
u
rganisation to explore concerns in the early phase of the migra-
ion. Among them, the cost modelling tool is the most mature
ne which examines the cost of different deployment options of
legacy application in the cloud. In general, 7 approaches provide
ools for some activities in their suggested methodology.
Currently, two methodologies argue for the inclusion of a wide
ange of tools for the entire migration process: (i) ARTIST method-
logy [S43] proposes Eclipse-based suite which is tightly integrated
ith its activities. Since produced work-products are stored in a
hared repository, they can be accessed and modified other tools;
nd (ii) REMICS methodology [S26] includes a set of tools related
o the areas such as requirement management, knowledge recov-
ry from legacy applications, re-transformation of application com-
onents to cloud architecture, and model-based testing. Finally,
s far as availability of an approach’s tool is concerned, it can
e attributed as publicly available, proprietary, or not specified.
able 9 shows whether an approach fully or partially offers tools.
full description of the activities in this table is presented in
ection 5.4 .
.4. RQ2.2 what cloud-specific criteria are supported by these
pproaches?
The goal of the second dimension of the framework is to char-
cterise existing approaches in support of various activities attuned
o the cloud migration process. Table G.1 ( Appendix G ) shows the
xtent to which each criterion is satisfied by each approach on
he basis of three scale points including ‘fully-supported’, ‘partially-
upported’, and ‘not-supported’ (See Table H1 in Appendix H ). The
est of this section qualitatively elaborates scores in Table G.1 . We
lso highlight recommendations and advice offered by these ap-
roaches as a result of applying them in real scenarios.
.4.1. Migration type
As mentioned in Section 2.1 , there are several possibilities to
ake legacy applications cloud-enabled ( Table 1 ). This criterion in-
icates the migration type for which an approach has been de-
igned. Table 10 shows the classification of approaches based on
he migration variants. Along with the migration type, 18 out of 43
pproaches define support for moving the whole application to the
loud, i.e. Type V. The idea is to encapsulate application stack into
irtual machines, deploy them in IaaS infrastructure, and add an
dditional layer to orchestrate the virtual machines. Twelve ap-
roaches provide support for moving the data tier of legacy ap-
lications to a cloud database solution along with defining mod-
fications to the application to access the data layer in the cloud
Type IV). As many as 13 and 7 approaches, respectively, propose
ctivities for the migration type I (i.e. deploying business logic of
n application in the cloud) and type III (i.e. deploying a database
n a cloud data storage). Thirteen approaches focus on defining a
eengineering process to make legacy components cloud-enabled
sing existing application development APIs offered by PaaS or
44 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Table 11
Classification of approaches based on the unit of migration.
Unit of migration Study Number
Organisation [S4], [S6], [S38] 3
Whole application stack [S1], [S2], [S5], [S7], [S8], [S11], [S12], [S13], [S14], [S15], [S16], [S17], [S18], [S21], [S20], [S22], [S23], [S24], [S25], [S27],
[S28], [S29], [S30], [S31], [S32], [S33], [S34], [S35], [S36], [S37], [S39], [S40], [S41], [S42], [S43], [S44]
36
Data tier [S9], [S10], [S19] 3
Business logic tier [S3] 1
g
a
a
s
w
n
m
m
A
i
b
b
p
c
b
fi
(
c
4
p
C
d
p
5
o
i
t
r
d
f
a
r
t
m
a
a
l
a
C
(
i
m
[
a
t
[
t
t
s
e
a
s
p
SaaS delivery models (Type II). Some studies are not classified un-
der any particular migration types; rather they suggest an overall
process model for the migration. Twelve approaches were fallen
in this group. The migration types can be used simultaneously to
make an application cloud-enabled. For example, the business logic
tier and data tier may be migrated to Google App Engine and Ama-
zon Relational Database Cloud Service, respectively. This is why
some approaches are repeated in the second column of Table 10.
5.4.2. Unit of migration
For many reasons such as regulations, privacy laws, and net-
work latency organisations may not migrate the whole legacy ap-
plication stack to the cloud; instead some legacy components are
migrated whilst other are kept in local organisational network and
cloud services are offered to them. Hence, it deserves to investigate
if an approach fit for moving a particular tier or whole application
stack to the cloud. Given that, this criterion indicates which ap-
plication tier is concerned for migration by the approach. Table 11
shows the result of classification of the approaches with respect
to the unit of migration. According to this table, the majority of
approaches focus on moving all the application tiers. Studies [S4],
[S6], and [S38] view all legacy assets in an organisation as a single
unit for migration and propose a general approach for moving all
legacies to the cloud. Only study [S3] investigates running a busi-
ness logic tier, described using Web Service Business Process busi-
ness logic tier Execution Language, in the cloud via IaaS service
delivery models.
5.4.3. Analysing context
Transition to the cloud is not merely a technological improve-
ment of existing applications but also it is a substantial change in
the way legacy applications hereinafter operate, provide IT func-
tions, and to be maintained. As an important first activity in the
cloud migration process, a feasibility and business value analysis
of the cloud adoption as an IT strategic weapon to empower lega-
cies should be conducted. In this regard, this criterion can be used
to examine if an approach defines activities for the context anal-
ysis. In this survey, 27 approaches (62%) did not provide any sug-
gestions on the context analysis, and 7 approaches (16%) only re-
fer to this activity without any elaboration on how to perform it
( Appendix G ).
It was found that 9 approaches out of 43 (20%) explicitly in-
clude the context analysis. For example, Conway and Curry report
their experience in the validation of IVI Cloud Computing Life Cycle
[S4], an Agile migration process model, within a number of organ-
isations. They observed those o rganizations that did not fully un-
derstand the impact of the migration on the user community and IT
support staff and failed to plan accordingly either lost key resources or
experienced resistance from the IT and user community – both during
and after the migration . In the Cloudstep, a model proposed by Be-
serra et al. [S2], authors point the idea [context analysis] is to antic-
ipate the detection of potential organisational constraints that might
affect the cloud migration decision, before carrying out any further
analysis of the application itself .
In the migration approach proposed by Khajeh-Hosseini and
Greenwood [S6], the main focus is on the early phases of the mi-
ration process and it suggests three kinds of activities named
s Technology Suitability Analysis, Energy Consumption Analysis,
nd Stakeholder Impact Analysis. They state that understanding the
ignificance and the extent of the organisational changes associated
ith cloud adoption is a difficult challenge. We argue that enterprises
eed to understand the breadth of changes and the effort r equir ed t o
ake these changes in order to understand their benefits . The ARTIST
ethodology [S43] defines an activity called Business Feasibility
nalysis of Legacy Migration which is to provide not only economic
nformation (ROI, payback, etc.) but also what are the main risks to
e faced with the migration and the organizational processes affected
y the uptake of the new business model . Ahmad and Babar in their
roposed framework [S21] stress two concerns during conducting
ontext analysis, i.e. (i) determine the type of the application is to
e migrated to the cloud since some applications may not bene-
t from the cloud such as safety-critical or embedded applications,
ii) effort and cost that required for the migration regarding per-
eived benefits. Table 12 summarises the identified concerns from
3 reviewed approaches that should be taken into account when
erforming a context analysis. With respect to these concerns, the
loudstep [S2] advises these concerns are not mutually indepen-
ent, rather their influence on each other should be investigated
rior actual migration execution.
.4.4. Understanding legacy application
It is common that the knowledge about legacy applications be
utdated, imperfect, and undocumented. Identifying any character-
stics of legacies that may influence migration process is impor-
ant. To this aim, items such as recapturing an abstract As-Is rep-
esentation of legacy architecture, functionalities, different types of
ependencies to otherapplications, interaction points and message
ollows between legacies, and the quality of code blocks for reuse
nd adaptation are important. Wu et al. in [S33] report their expe-
ience in moving an online digital library search engine (CiteSeerX)
o Amazon EC2 and found that a n up-to-date and complete docu-
entation of legacies can significantly reduce the length of learning
nd investigation time .
The legacy understanding can be helpful in many ways: Some
pproaches such as [S12], [S21], and [S41] use produced high-
evel architecture models of the legacy application as a mean for
utomatic transformation to target cloud platforms. For example,
loudMIG [S41] proposes OMG’s Knowledge Discovery Meta-Model
KDM) for extracting a meta-model of application and transform-
ng it to a target cloud architecture. Based on the experience of
oving legacy applications to IaaS, the approach of Sun and Li in
S16] incorporates legacy application understanding in order to get
n estimation of required development effort for enabling legacies
o utilize cloud services. In the approach by Rajaraajeswari et al.
S27] the activity Application Profiling is to identify the applica-
ion usage data which helps to understand the size of workload
o migrate to the cloud. This avoids from unexpected cost of cloud
ervice usage when bills will be issued. Specifically, the approach
mphasises the following data to collect (i) CPU and memory us-
ge, (ii) storage data such as size and input/output operations per
econd, (iii) network data such as throughput and connections
er second (iv) the node-level data such as number and type of
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 45
Table 12
Concerns should be investigated during context analysis.
Concern [S2] [S6] [S4] [S21] [S27] [S31] [S23] [S40] [S43]
User resistance � � � �
Loss of governance �
Dependency on legacy application � � �
Risk of unauthorised access � � �
Legal restriction � �
Physical location of IT resources �
Energy consumption �
Variation on responsibilities �
Impact on organisational and daily activities � �
Type of legacy application � � � �
Required effort s and migration cost �
Scalability (workload fluctuation) � �
Technical suitability of cloud � � �
Financial suitability of cloud � � �
l
fi
g
t
a
l
p
5
i
t
t
a
o
q
w
t
a
t
c
m
r
p
r
a
d
5
p
i
t
i
p
s
p
t
c
S
c
M
fi
i
t
P
p
d
t
f
C
t
(
v
t
h
s
g
p
m
i
5
p
a
o
r
f
G
t
r
c
t
a
t
W
p
p
I
t
t
s
p
m
n
l
a
[
[
f
u
[
egacies. As shown in Table 10, 15 approaches (35%) explicitly de-
ne activities related to the legacy application understanding, tar-
eted for the cloud. However, 22 studies (51%) did not offer any ac-
ivities or guidelines regarding this criterion. Table 13 summarises
collection of useful recommendations, each stresses a particu-
ar aspect of legacy application understanding, identified from ap-
roaches along with supportive technique to perform.
.4.5. Analysing cloud migration requirements and objectives
As the name implies, approaches may define activities to spec-
fy and model the expected functional non-functional requirements
o be fulfilled through moving legacies to the cloud. Examining
his criterion gives an insight if developers seek approaches that
ssist in capturing, analyzing cloud migration requirements and
bjectives, and suggesting possible trade-off. While common re-
uirement engineering techniques (e.g. interview, prototyping, and
orkshop) available in SE literature still are applicable in the con-
ext of the cloud migration as it can be seen in approaches [S8]
nd [S26], some approaches have added a focus on expected elas-
icity and scalability application requirements in the cloud [S18],
omputing requirements of legacies [S19], inter-operability require-
ents for deployment in the cloud [S21], security and regulatory
equirements [S23], and storage space requirements for the ap-
lication in the cloud [S33]. According to Table 10 , 15 (35%) of
eviewed approaches define related activities for the requirement
nalysis. However, 7 (16%) and 26 (60%), respectively, partially or
oes not support this criterion.
.4.6. Planning migration
Once cloud migration is accepted as a feasible decision by
roject stakeholders, a plan guiding the rest of migration process
s required. Feedback from stakeholders is used to define a migra-
ion plan. Support for activities related to the planning has been
ncluded in 12 reviewed approaches (28%).
According to [S27], information obtained from the legacy of ap-
lication understanding is an input source for the planning. For in-
tance, if legacies X and Y are using the same database server, a
ossible migration plan would be a combined move or splitting
he dependencies.
Approaches vary in recommended factors that need to be
onsidered during the planning as mentioned in the following.
trauch, et al. propose a methodology for moving e-science appli-
ations to the cloud by acquiring services from Amazon AWS and
icrosoft Windows Azure [S9]. Planning in this methodology is de-
ned as a set of actions in order to resolve potential incompatibil-
ties between legacy components and target cloud database solu-
ion without modifying the application business logic. Additionally,
ahl et al. [S18] take into account parameters such as cloud service
rovider capabilities, addressing contract with cloud providers, the
istribution of project team, the capabilities of migration team (e.g.
echnology, skills, and tools), and defining metrics and milestones
or the planning. Furthermore, in the process model of Legacy-to-
loud Migration Horseshoe, proposed by [S21], authors incorporate
he influence of cloud provider selection and the migration type
Table 1 ) as main factors to develop a migration plan.
Finally, defining a proper rollback plan, i.e. switching to the pre-
ious version of the application at any stages of migration reduces
he risk and exposure to organisation business. The approach [S4]
ighlights that the option to roll back to an in-house version at any
tage significantly reduced the risk and exposure to the business. Or-
anisations that experienced difficulties in the transition to cloud com-
uting missed vital steps in their planning . Similarly, [S33] recom-
ends defining Backward Availability for critical migration projects
n the case new cloud application fails.
.4.7. Cloud service/platform selection
Approaches can be assessed based on the extent to which they
roperly define activities to identify, evaluate, prioritize, and select
set of candidate cloud services that might suit the requirements
f an IT-based organization and application. In justifying this crite-
ion, Chauhan and Babar examined their suggested process model
or moving an open source system to Amazon Web Service and
oogle App Engine [S8]. They found that a better alignment be-
ween the quality attributes of application and cloud services can
educe migration effort and cost. They conclude that suitability of
loud environments in term of security and sensitivity is pivotal
o the success of application migration the cloud. Similarly, from
cost perspective, Tran et al. [S5] report a breakdown of activi-
ies performed during moving a .NET n-tier application to run on
indows Azure and highlight effort s required for deciding cloud
roviders is major. They underline the influences of selecting cloud
latforms on the required effort for the rest of migration process.
f the selected cloud platform technology is highly compatible with
he legacy, fewer code modifications in the legacy are required.
In general, from 43 reviewed approaches the following impor-
ant factors were identified for investigation when selecting cloud
ervices/platforms: variety of service models offered by provider,
rice model, the form of SLA, additional services such as backup,
onitoring, auto-scaling, security mechanisms, implementation tech-
ologies which are supported by a provider such as programming
anguages, development platforms, allowing access to internal oper-
tional logs, physical location of application data [S2], sustainability
S4], commitment durability with cloud provider, business objectives
S8], degree of automation, storage encryption mechanisms, storage
ormat and exchange, developer SDKs [S9] and [S10], required config-
ration effort, deployment speed, consistent development experience
S17], and traffic bandwidth at the client network [S29].
46 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Table 13
Summarised recommended activities by the existing approaches for legacy application understanding.
Approach Activity name Definition Technique
[S1] Recover activity area Recover legacy application knowledge in a KDM format, which is as an
intermediate representation supporting many programming languages, from
which UML application models are generatable.
KDM
[S2] Define application profile Create a profile of legacy application including technical characteristic of the
application that need to be considered for migration.
Not specified
[S7] Discovery of application details from
the source environment
Identify a topology graph of enterprise’s IT including legacy application and
then all outgoing hosted-on, depends-on, and connects-to edges starting
from the application’s entry node.
Deep dive
[S12] Architectural representation of the
legacy application
Reconstruct an architecture model of the legacy application and any business
entities and metadata.
Not specified
[S16] Discovery Collect the configuration information of application including deployment
model, the number of physical machines that have been deployed in the
local network, the network topology of these physical machines. Use this
information to determine the deployment scale in the target cloud
environment.
Not specified
[S21] Architecture recovery and consistency
conformance
Recover an architecture model of legacy and check whether it is consistent
with existing legacy source codes. This architecture model is necessary to
find the design rationale that need to be preserved during
modification/transformation of application for the cloud.
Graph-based modelling
[S23] Identify user load parameters Discover and document groups of users, and the pattern of their use, teams of
contractors in foreign countries, access time to the application, a particular
time in the day or month in which application usage is heavy.
Not specified
[S24] Describe existing capability Analyse different available legacy artefacts such as source codes, programming
language, documents, users’ knowledge, configuration files, execution logs
and traces, integration with third party offerings, dependencies, database,
upgrade procedures to identify artefacts to be considered in the migration
project.
Top-down and
bottom-up
approaches
[S26] Recover Model “as-is” and “to-be” architecture and deployment models. KDM
[S27] Application dependency mapping
profiling
Identify dependencies among applications in the local infrastructure and their
usage data. This helps estimating the size of migration to the cloud. Based
on the node on which the application is executed, the following data need
to be identified: CPU and memory usage, data storage, network latency, and
input/output operations per second, network data.
Not specified
[S37] Discover Identify static aspects of the legacy such as source configuration details,
network IP, operating system type, and dynamic aspect such as CPU usage
and dynamic workload characteristics of application.
Not specified
[S39] Capture Identify key concepts and relations in the legacy application. Ontology
[S41] Extraction Extract a utilisation model of legacy application including statistical properties
concerning user behaviour like service invocation rates over time or average
submitted datagram sizes per request.
KDM
[S42] Initial screening and analysis Collect key data on existing workloads, applications and their dependencies,
server utilisation, machine and operating system type, hardware and
software characteristics.
Not specified
[S43] Application discovery and
understanding
Extract an overall logic of the legacy application and any different available
legacy artefacts relevant for the migration scenario.
Model transformation
5
t
T
o
t
p
t
Once a provider(s) is selected, a contract between the legacy
application owner and the cloud service provider is signed. The
application owner needs to specify the scope of expected service
provisioning by cloud provider prior migrating application compo-
nents to the infrastructure of a cloud provider. The negotiation is
finalised with producing an SLA which specifies the boundary of
usage and provision of cloud services. According to IVI lifecycle
model [S4], building a relationship with the cloud supplier was the
key to success in many of the projects we studied . As mentioned in
Section 2.3 , cloud environments may raise an application licensing
issue meaning that by running the application in the cloud, many
instances of applications might be created by the servers based on
the workload, leading to an unintended licensing violation. From
the reviewed studies, 4 approaches incorporate addressing licens-
ing issues. For example, Amazon methodology [S40] recommends
that for legacy applications that organisation is tightly coupled
with complex third party applications, which have not been mi-
grated to the cloud, developers should extend the legacies with im-
plementing new components (e.g. VPN tunnel) in a way that cloud
services can be indirectly offered to them. [S23] suggests enabling
a license tracking mechanism through monitoring connections be-
tween the application and cloud resources.
.4.8. Re-architecting legacy application
The aim of the re-architecting is to evolve the legacy architec-
ure towards a new architecture which can utilize cloud services.
he legacy architecture and requirement models which are outputs
f legacy application understanding and requirement analysis (sec-
ions 5.4.4 , 5.4.5 ), respectively are used during the re-architecting
rocess. Several concerns are needed to consider as described in
he followings.
(i) Define cloud architecture model. One important aspect of
re-architecting is to find suitable legacy components for mi-
gration and their optimum distribution on the cloud servers.
Conway et al. [S4] state this [component selection] will require
an understanding of the current state, so that it can be com-
pared to the desired future state . Andrikopoulos et al. [S35]
numerate several factors are taken into account for legacy
component selection such as data privacy, expected work-
load profile, acceptable network latency and performance
variability, the availability zone of cloud providers, the affin-
ity of components in the cloud, and the geographical loca-
tion of cloud servers. Among the reviewed approaches, Ley-
mann et al. [S11] propose a concrete technique for a cloud
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 47
t
p
c
e
d
i
(
c
a
m
t
t
a
architecture design via transforming application architecture
into a graph partitioning problem and using simulated an-
nealing to find optimum distribution of legacy components
on different cloud servers.
(ii) Enabling application elasticity. Running applications in the
cloud does not help to resource efficiency and scalability by
itself. Rather applications should have mechanisms to ac-
quire and release resources, effectively, under input work-
load ( Vaquero et al., 2011 ). Often legacy applications have
not been designed with a support for dynamic resource pro-
visioning. Elasticity can be implemented by developing a
new component either embedded in the application or sep-
arately hosted on a server node in order to continuously
monitor the application/component resource usage variables
and then performs appropriate action for the resource ac-
quisition and release based on scaling rules/conditions re-
lated to specific workload threshold, events, or metrics. Only
Ridha et al.’s approach introduced in [S22] defines generic
activities for deploying existing applications with a support
of the elasticity. The activities are as follow: (i) describing
required computing resources, the life cycle of the applica-
tion and its offered services, and scaling rules of the ap-
plication and its services, (ii) automatically provisioning re-
sources from selected clouds for the application, and (iii)
monitoring and ensuring application performance. Two ap-
proaches rather provide high-level advice: Andrikopoulos et
al. [S35] point out aspects that needed to be considered dur-
ing enabling elasticity in an application in terms of what to
scale, how to scale, when to scale, which scaling strategy to
be used, and scaling latency. Likewise, with respect to the
approach of Maenhaut et al. [S29], to handle elasticity it is
required the components of an application to be decoupled
and communicate in a-synchronised manner.
(iii) Enabling multi-tenancy . According to Bezemer and Zaid-
man (2010) and Guo et al. (2007) , re-architecting of a legacy
application to support multi-tenancy includes the following
aspects:
– The first aspect is security isolation. Enabling multi-
tenancy, specifically in the case of applying migration
type II ( Table 1 ), raises security risk as different ten-
ants use the same application instance and use the same
database and shared resources. It is necessary to assure
each tenant can only access to its data and to be pro-
tected from unauthorised access by other tenants which
are running in the same cloud. As off-the-shelf database
management systems might not support multi-tenancy
( Jacobs and Aulbach, 2007 ), securing the data tier of ap-
plication should be properly addressed. Furthermore, the
code blocks of the application reflecting organizational
business processes (e.g. BPEL) might need to be secured
prior deploying in the cloud to protect from unautho-
rized access by other tenants. The confidentiality of code
execution is assured, for example, through encryption
mechanisms, in the sense that no other tenants will be
able to access, read, or alter the code blocks within the
running application instance in the cloud.
– The second aspect is application customisability. Each
tenant may have different functional and non-functional
requirements. For example, one tenant might want to
have the ability to customise application user interface
whilst other one need to change the sequence of appli-
cation workflow and code customisation. Customisations
are applied by a tenant should not affect other tenants
(e.g. application availability). To realize application cus-
tomisability, configuration points in the form of applica-
tion template should be defined in the code blocks of the
application.
– The third aspect is fault isolation meaning that if a fault
occurs in the same instance of a running application
being used by multiple tenants in a shared manner, it
should not be propagated to other tenants using that in-
stance. The application should monitor its internal state
to detect faults, prevent their propagation, and repair
them in a timely manner.
– The fourth aspect is performance isolation which is to
guarantee the performance of one tenant from the neg-
atively being affected by the performance usage of other
tenants in unforeseen behaviours. If this is satisfied in all
situations, then the application is performance-isolated.
Given the above mentioned aspects of the multi-tenancy, only
he approach proposed by Maenhaut et al. [S29] incorporates ex-
licit activities to add a customisability isolation to legacy appli-
ations to move to a hybrid or public cloud environments. That is,
nabling multi-tenancy requires the following steps: (i) decoupling
atabases, (ii) adding tenant configuration databases, (iii) provid-
ng tenant configuration interface, (iv) dynamic feature selection,
v) managing tenant data, users, and roles, and (vi) mitigating se-
urity risks.
Andrikopoulos et al. [S35] point out the concept multi-tenant
ware applications and recommend addressing two aspects of
ulti-tenancy as (i) supporting message exchange isolation per
enant, and (ii) administrating and configuring the application per
enant. Other approaches only state multi-tenancy aspect without
ny proposals on required activity to perform.
(iv) Incompatibility resolution. If legacy application compo-
nents are to be bound to cloud services, potential incompat-
ibilities between the legacy application and these services
should be identified and accordingly resolved through adap-
tation mechanisms. With respect to the existing approaches,
three forms of adaptations might be required to resolve in-
compatibilities.
– Code refactoring. A basic form of incompatibility resolu-
tion is through modifying legacy codes so that they can
interact with the cloud services. This can be the modifi-
cation of legacy application interfaces in order to remove
mismatches (e.g. interface signature, operation ordering,
operation names, message format, interaction protocols,
and data type) with cloud service interfaces. Also, be-
havioural adaptation is performed if there is a mismatch
in the granularity of message interaction between appli-
cation components and cloud services. An explicit sup-
port for a code adaptation was found in 11 approaches,
i.e. [S3], [S5], [S8], [S9], [S10], [S12], [S14], [S15], [S25],
[S35], and [S43]. Other approaches such as [S7], [S13],
[S17], [S20], [S21], [S24], [S26], [S29], [S30], [S31], [S33],
[S39], [S40], [S41], and [S42] only explain general advice
on the code adaptation.
– Developing integrators/adaptors . If the code refactoring, as
mentioned in the previous item, is costly, then devel-
oping integrators/adaptors (also called wrappers) can be
served as an alternative solution to remove incompat-
ibilities. Adaptors provide an abstraction layer, keeping
the legacy codes untouched and facilitating application
interoperability and portability. In this regard, the ADM
(Architecture-Driven Modernisation) approach of Zhang
[S12] suggests developing wrapper layers (e.g. Web ser-
vices) on legacy components. Some approaches include
high-level classifications of the possible adaptors that de-
velopers should build to integrate legacies with cloud
services. In this way, CMotion approach [S30] defines
48 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Table 14
Summarised of resolution mechanisms to resolve incompatibilities between legacies and cloud services.
Study Mechanism Legacy tier Definition
[S9] Data store functionality
extension
Data tier As a cloud database solution may not support functionalities that legacy data tier offers (for
example stored procedures), the data tier is extended with missing functionalities of cloud
database solution.
[S9] Local database proxy Data tier Cloud data stores might not offer horizontal scalability for data reads. To address this feature, the
cloud data store is configured through applying a single master/multiple slave model where the
master manages writing data and slaves are replicas for read operations. All data traversing from
each data tier is conducted through a proxy.
[S12] Web-Service generation Application stack An indirection access to cloud services is created via Web-Service technology.
[S14] Adapter generation and
injection
Business tier The adaptor consists of a proxy with a concrete implementation of the service interface injected
into the application as an instance of the component required for consuming the selected cloud
service.
[S15] Service adapters Application stack Developers should identify required adaptation points in the application and define intermediate
artefacts which automatically injected between interaction points of legacy components and
cloud services.
[S30] Adaptor Application stack Adaptors are classified into two dimensions: ‘when’ and ‘how’. The ‘when’ dimension denotes
times that adapters are applied in the applications. The ‘how’ dimension represents how
adaptors apply their changes.
[S20] Hybrid refactor with
cloud adaptation
Application stack A component adapter (e.g., legacy façade) is adopted to provide an interaction point between the
legacy components and those re-hosted cloud-based components.
p
T
s
p
5
n
S
i
g
t
[
g
s
t
two types of integrators focusing on aspects: when and
how . The former is to define adaptors for transformation
application components before deployment in the cloud
whilst the latter is to define ways of applying changes,
i.e. automatic vs. manual adaptors. A similar view has
been also defined by Miranda et al. [S14]: static (or
design-time) adaptation, which includes the adaptations
required to be performed prior the application is run in
the cloud; and dynamic (or run-time) adaptations at the
runtime application execution in the cloud. Jamshidi in
[20] presents a catalogue of patterns to enable legacy
components to interact with different cloud services.
– Data adaptation . Migrating the legacy data tier to a cloud
database solution may cause different mismatches. For
instance, although cloud database solution SQL Azure
is similar to traditional SQL Server, distributed transac-
tions are not supported by SQL Azure as SQL Server
does. This may imply a need for the data type conver-
sion, query transformation, database schema transforma-
tion, and developing runtime emulators. The methodol-
ogy suggested by Strauch et al. [S9] and [S10] provide
a richest of Cloud Data Patterns in order to address in-
compatibility issues between traditional databases and
cloud database solutions. The patterns are classified un-
der three groups as (i) functional patterns (e.g. data store
functionality extension, emulator of stored, procedures,
and local database proxy), (ii) non-functional patterns
(e.g. local sharding-based router), and (iii) confidential-
ity patterns (e.g. confidentiality level data aggregator,
confidentiality level, data splitter, filter of critical data,
pseudonymizer of critical data, and anonymizer of critical
data). Additionally, the methodology suggested by Oracle
[S19] defines the following activities for database migra-
tion: (i) database schema migration (involves migrating
tables, indexes, and views in a database), (ii) data mi-
gration, (iii) database stored program migration triggers,
and views, (iv) application migration, and (v) database
administration script migration.
Table 14 summarises the list of identified mechanisms proposed
by the existing approaches for developing integrators and data
adaptors.
(v) Applying architecture design principles. From the reviewed
approaches, a few recommended architecture design princi-
ples was identified which need to be considered by develop-
ers when re-architecting a legacy application to target cloud.
According to [S8], [S14], [S17], [S22], [S34], [S36], and [S42]
these principles are as follows:
– Application decoupling. To take the advantage of dynamic
deployment, one architectural requirement is to decou-
ple application components so that they can interact in a
transparent manner. The application decoupling enables
independent elastic scaling of the components (i.e. dy-
namically adding/removing more instances of the same
components), minimise time required for code refactor-
ing and test in the case of switch to another cloud
provider, handle a-synchronised communication, as well
as simplify coping with the components failures.
– Stateless programming . To support dynamic deployment
and independent component scalability, components
should minimise using contextual data. Moreover, the co-
existence of multiple running instances of the same com-
ponents in the cloud environment requires a new session
management mechanisms in order to track tenant’s be-
haviours and ensure their security when running appli-
cation instances are increased or decreased based on the
server workload.
– Transient fault handling. Performance variability of cloud
servers and network latency between local network and
the cloud can have a negative impact on QoS of mi-
grated application. Developers should implement mech-
anisms in the application to detect and handle transient
faults that occur in cloud environments.
Again it should be noted that adopting the abovementioned
rinciples mainly depends on a selected migration type ( Table 1 ).
able 15 shows the situations in which a rearchitecting concern
hould be incorporated into the migration process is required to
erform.
.4.9. Training
As cloud platforms come with a particular set of tools and APIs,
ew skill set needs to be learned about selected cloud platforms.
ome existing approaches recommend incorporating training activ-
ties for IT staff (developers and managers) as a part of the mi-
ration process. At the managerial level, there is a change from a
raditional licensing model to pay-as-you-go or post-usage billing
S18]. On the other hand, developers need training on new pro-
ramming concepts such as asynchronous interaction, distributed
tate and session management, caching, scale out across data cen-
res and providers (scalability), and multi-tenancy [S35]. Tran et al.
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 49
Table 15
Re-architecting activities and migration types.
Re-architecting Type I Type II Type III Type IV Type V
Component selection
and distribution
Very likely Very likely Very likely Very likely Very likely
Enabling elasticity Not likely Very likely Not likely Not likely Very likely
Enabling multi-tenancy Very likely Very likely Not likely Not likely Very likely
Incompatibility
resolution
Code adaptation Very likely Very likely Very likely Very likely Maybe
Developing
Integrators/Adaptors
Somewhat likely Somewhat likely Not likely Very likely Not likely
Data Adaptation Not likely Somewhat likely Somewhat likely Very likely Somewhat likely
Applying architecture
design principles
Application decoupling Very likely Very likely Very likely Somewhat likely Somewhat likely
Stateless programming Very likely Very likely Somewhat likely Somewhat likely Very likely
Transient fault handling Very likely Very likely Very likely Very likely Very likely
s
b
5
S
S
a
t
d
5
t
o
o
c
R
s
i
(
b
s
i
a
f
l
p
T
i
D
q
s
w
d
V
m
g
t
a
a
t
c
E
f
m
s
c
i
w
a
l
t
v
5
t
r
[
a
5
n
s
[
tate that all cloud services may not support some features offered
y legacy technologies [S5]. For example, as mentioned in Section
.4.8 , SQL Azure does not support distributed transactions as SQL
erver does. Hence, an understanding on handling this aspect of
QL Azure might be required. Sun et al. [S16] put one step further
nd define a process-based effort estimation approach to measure
he capability of a development team on the basis of mastery of
evelopers on conducting migration activities.
.4.10. Test and continuous integration
Like many other software development endeavors, the test ac-
ivity includes testing both functional and non-functional aspects
f migrated application to the cloud. Additionally, in the context
f cloud migration, various cloud-specific tests are to perform in-
luding security test, interoperability test, and workload test. Agile
EMICS [S1] defines a phase called Validation Activity which, con-
ists of the following steps for the migration type V: (i) define test-
ng infrastructure, (ii) identify and refine requirements to be tested,
iii) generate acceptance testing, (iv) import models elements to
e tested, (v) define testing procedures, and (vi) implement testing
trategy.
Other approaches, however, provide general advice on conduct-
ng tests as described in the followings. For many reasons such
s workload or user preference, a running application may move
rom a cloud server to another one. With respect to this, a lesson
earned from applying the migration framework [S15] is to test ap-
lication for interoperability in heterogeneous cloud environments.
herefore, a certain level of integration and interoperability testing
s required. Important tests that should be taken into account are
ata Verification, Test Backup and Recovery Plan before they are re-
uired [S23], Test Network Connectivity (connection between cloud
ervices and local network), Test Connection Speed as there is net-
ork latency to receive a response from cloud servers located in
ifferent geographical areas [S33] [S40], Test provider Performance
ariability and Test Application Latency due to the network perfor-
ance variability [S35].
An important aspect of the test is to address continuous inte-
ration. Continuous integration is to add a new increment to all
ier of the application in the cloud as well as any hosts in a smooth
nd coordinated manner. Cloud provides a new environment for
utomated testing by adding and removing servers for test and in-
egrating new increments to working applications. This reduces the
ost of deploying, maintaining, and licensing internal testing tools.
xcept for [S33], the existing approaches do not provide support
or the continuous integration. Wu et al. in [S33] recommend a
echanism called staging and production in order to use separate
ervers for the test activity. In the staging environment, developers
an test the application within a production-like environment (e.g.
nfrastructure configuration). That is, a deployment environment in
hich all tests are performed in order to detect bugs, performance,
nd other issues before the application to be used by users. All re-
eases of application are tested on the staging environment. Once
he application completely is tested, it is pushed to the target en-
ironment, i.e. production, as an increment of the application.
.4.11. Environment configuration
Once the application migrated to the cloud, the connection be-
ween the local network and the application in the cloud is still
equired. Ten out of 43 approaches ([S3], [S5], [S9], [S10], [S12],
S19], [S23], [S28], [S40], and [S42]) have comprised the following
ctivities:
– Reconfigure organisation network setting such as ports, fire-
walls, and anti-virus, reachability policies, and connection
strings to the database.
– Set privileges on application tenants/users to assure the secu-
rity of application still is satisfied in the cloud environment.
– Create installation scripts and setup different third-party li-
braries and tools which may be used for monitoring and re-
porting runtime application behaviour, though this needs less
effort if a cloud provider has already done it.
.4.12. Continuous monitoring
The dynamic and unpredictable nature of cloud environments
ecessitate continuous monitoring of application and cloud re-
ources to assure successful SLAs (e.g. [S1], [S4], [S22], [S23], [S26],
S28], [S33], [S38], [S40], and [S43]) as described in followings:
– Measuring . Collect critical data about the application health and
performance, traffic patterns, vital signs such as CPU and mem-
ory usage, network traffic, and disk usage. This data are used to
detect deviations from SLA and runtime application adaptation
and optimisation. Measuring can be fulfilled either by develop-
ing a new component, which is integrated with the application
and is responsible for this purpose, or it can be offered by cloud
service provider [S1] [S4] [S22] [S23], [S28] [S33] [S40] [S43].
– Updating patches and periodical backup. During the applica-
tion operation in the cloud, regular patch update and database
backup should be addressed either by application owner or by
the cloud provider [S28] [S33] [S40].
– Metering and managing bills. This includes two aspects. Firstly,
billing management is required to be implemented in the ap-
plication by its owner to track tenants/users are using the ap-
plication service. A new component might be added to the ap-
plication which tracks the tenants using the services and bill
them accordingly. Secondly, the application owner is billed for
the cloud services (e.g. infrastructure) used for developing and
maintaining the application. Hence, the owner should moni-
tor resource usage, track logs periodically, identify lifecycle pat-
terns of each application instance, and detect suspicious high
resource usage which may cause an extra cloud service usage
fees [S38] [S43].
50 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
– Replicating and synchronising. Replication aims to support high
business continuity and minimal downtime and is realised by
running several application instances on a variable number of
cloud infrastructures. The partitioning and replicating applica-
tion component in the cloud servers may entail extending the
application for a support of synchronisation between the com-
ponents (local replicas and those hosted in the cloud) [S33].
– Terminating idle instances. Removing under-utilised application
instances to increase utilisation of the overall application [S40].
– Decommission legacy components. Once the application gets op-
erational in the cloud, the old legacy components may no
longer be required and hence they are retired and the assigned
resources to them are released [S23] .
– Withdrawing. In some cases, the application owner wants to
withdraw the application from cloud services. If so, the appli-
cation should be removed from the cloud and other acquired
resources (e.g. data storage, CPU, and network bandwidth) re-
leased to reduce costs [S26], [S28].
6. Challenges and future directions
It is not feasible that an approach to cover all the stated criteria
in the framework; rather, it may focus on a subset of them based
on its objective and leave other criteria unaddressed. Therefore, it
was hard to rank approaches from lower priority to higher. The
evaluation framework can be viewed as an indicator of the primary
focus of an approach instead of judgment on its completeness. In
other words, if an approach does not support a certain criterion, it
does not necessarily mean that it cannot be useful; rather, it means
that criterion is not its main focus.
While all the reviewed approaches have merit and form a rich
source of necessary activities and recommendations to be learned,
our deep analysis revealed that still there are challenges which are
yet to address. Given the RQ2 and in the light of the evaluation
results in Section 5 , overcoming the following challenges may open
new possibilities to ameliorate the state of the literature.
– Approaches suffer from a sound research quality. Like other
fields of SE, a rigorous research methodical is of utmost sig-
nificance in order to advance and better understanding the
field. As discussed in Section 5.1 , only 6 out of 43 (14%) ap-
proaches included a section in their paper to explain their re-
search methodology. This lack is also true for the Data Col-
lection and Data Analysis where only 7 and 4 approaches, re-
spectively, address these criteria. This undermines the trust-
worthiness of the existing approaches. We believe that using
proper research methodologies will improve the quality of in-
dividual approaches and enable to combine their adoption re-
sults. A good example of applying of a sound research method-
ology in the field of legacy migration can be seen in the study
by Razavian (2013) where she applied an exploratory action re-
search in order to get a deep understanding of what academia
and practitioners perceive about the migration process of legacy
applications to SOA and identified the categories of activities
that are carried out during this transition. A similar exercise can
be equally applied in the field of the cloud migration.
– Approaches are not tailorable. There has been a well-
established acknowledgment that there is no universally supe-
rior methodology and the choice of a methodology is depen-
dent on a project setting such as time, technical or human
factors, and the characteristics of the software is being devel-
oped ( Sommerville and Ransom, 2005 ). This strand continues
as a crucial theme in the cloud migration. For example, one
study suggests: There is an immense need to identify correct pro-
cess model for the deployment of cloud-centric environments in
order to meet changed business requirement of clients. One solu-
tion can never fit all problems; likewise, there is a need of cus-
tomised cloud for individual businesses and dynamically changed
requirements of clients ( Mahmood, 2013 ). With respect to the
criterion tailorability, as defined in the first dimension of the
evaluation framework, any existing approach supports tailoring
mechanisms to fine-tune its suggested model/activities to meet
the characteristics of a given cloud migration scenario at hand.
From the reviewed approaches, only 5 approaches state a need
for the tailoring effort but without proposing any means to do
that ( Appendix E ). To address this shortcoming, one can ap-
ply a method engineering approach ( Brinkkemper, 1996 ), that
is based on this thought that instead of looking for a univer-
sal software development methodology, developers should con-
struct a new bespoke methodology through reusing and en-
hancing existing methodologies to meet project characteristics
at hand. Such a harness in the context of cloud migration is to
develop a repository of atomic and reusable method fragments
along with mechanisms to construct situation-specific method-
ologies through assembling these fragments which fit a given
migration scenario. In the context of SOA, Börner (2010) and
Khadka et al. (2011) , respectively, proposed method engineer-
ing approaches for construction situational service identifica-
tion and methodology for the legacy to SOA migration. We be-
lieve this kind of research can be applied in the field of cloud
migration.
– Lack of adequate support for the multi-tenancy, elasticity,
test, and continuous integration . One interesting observation
from the reviewed approaches is that only [S35] covers the
multi-tenancy merely from the customisation aspect. The elas-
ticity has been also supported only by one approach [S22]. The
continuous integration is partially supported by two approaches
[S23] and [S32]. It seems that there is a clear lack of support in
the literature when there is a need to approaches supporting
these criteria. In the cloud computing literature, one can find
many ad-hoc techniques related to the above criteria. Future re-
search is to properly abstract and structure these techniques in
the form of activities (or reusable method fragments) and in-
corporate them into existing migration approaches.
– Developer roles have not been sufficiently honed. The def-
inition and responsibilities of roles that might be involved in
the migration process have not been well described in the ex-
isting approaches. Specifying roles will make clear for develop-
ers their exact responsibilities and lead to better organising the
migration process. Besides a need for the elaboration of roles,
the existing approaches do not incorporate cloud-specific chal-
lenges into the role definition. Rather they use the common
SOA roles (.i.e. service provider, consumer, and broker). How-
ever, an overview on blogs and white papers in online cloud
communities shows that there are new development roles and
skill associated to development of cloud applications. Stafford,
who is executive editor of TechTarget, gives some examples of
new roles such as continuous integration skills for real-time test-
ing and diagnostics, virtual infrastructure configuration, Hadoop
on the cloud for handling big legacy data ( Stafford, 2013 ). More
research on necessary roles should be conducted to characterise
not only simply developer roles but also any stakeholders in-
volved in the cloud migration. Gu and Lago (2007) proposed
a role-driven migration process model for service-based appli-
cation development. The model has two dimensions where a
horizontal view explicitly shows the activities relevant to roles
in SOA and vertical view shows the interaction and cooperation
between the roles. This work is a good starting point to do a
similar research about roles in the context of the cloud migra-
tion lifecycle and unfold cloud-specific roles.
– Lack of a unified process model of the cloud migration. Our
observation from the reviewed approaches shows that they are
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 51
7
p
g
t
m
(
t
m
t
s
t
t
o
s
p
s
A
m
a
o
c
f
t
b
e
b
a
i
o
v
i
t
a
p
fi
i
v
p
w
p
o
f
r
t
s
8
t
A
t
s
r
i
t
l
t
i
a
a
t
s
t
s
o
d
t
c
b
S
m
n
e
w
d
e
a
p
t
p
t
r
p
a
c
s
p
e
T
p
p
t
t
o
c
h
narrowed in focus and present heterogeneous viewpoints of the
same legacy to cloud migration process while there is no es-
tablished correspondence among them. Furthermore, we ob-
served that the approaches are often combined with technical-
centric concepts which are often not homogenous and some-
times limited to certain cloud-specific platforms. Irrespective of
technical aspects of cloud migration, the question here is that
how would developers grasp a quick and overarching view of
what the cloud migration process entails? With many advan-
tages that variety of cloud migration approaches offers, it would
be also beneficial to have an overarching view of the legacy to
cloud migration process. Integrating existing approaches into a
unified and well-abstract cloud migration process model would
be advantageous in terms of facilitating understanding of the
legacy to cloud migration process and lucid knowledge transfer
and interoperability across the community of cloud researchers
and practitioners. The need for unified migration model mod-
els has been corroborated by researchers ( Zimmermann et al.,
2012; Hamdaqa and Tahvildari, 2012 ) but still no work with
this focus exists in the literature. The reference process mod-
els for the cloud migration are still a gap in the literature and
worthwhile pursuit.
– Other problems. Beyond the abovementioned problems, the
criteria traceability, scalability, and formality have been weakly
supported by the existing approaches. Furthermore, automation
support in performing migration activities has not been suffi-
ciently supported.
. Threat to validity
There are three limitations in the survey presented in this pa-
er: bias in publication selection and imprecise data collection.
Firstly, we focused on studies whose main objective was to sug-
est an approach (e.g. methodology, process model) for the legacy
o cloud migration. This resulted in the identification of 43 pri-
ary approaches in the literature. Through snowballing technique,
searching for all references contained in the studies), we found
hat studies do not necessarily use the terms process model and
ethodology consistently; and even in some cases, they combined
hese with other objectives. For example, [S35] was a well-cited
ource and included very useful practice and considerations for
he legacy to cloud migration; however, this study was not iden-
ified through our initial search strings. To reduce the likelihood
f missing relevant papers, we broadened the search strings, as
hown in Table A.1 in Appendix A , to cover more relevant pa-
ers. Additionally, we performed an extensive manual search in
cientific databases and conference proceedings as enumerated in
ppendix A . However, it is still possible that some related work
ay have been missed.
Secondly, although we have used the evaluation framework as
lens to extract data items from the approach, still we believe
ur data extraction can be imprecise since approaches do not
learly describe their suggested migration model. We frequently
ound that research methodology of approaches including valida-
ion techniques, contextual information, and data analysis had not
een properly explained. This could affect the quality of our data
xtraction.
Thirdly, the evaluation results reported in this survey have been
ased on the available documents on the approaches. A more re-
listic evaluation could be performed through applying approaches
n real-world migration scenarios. However, such an evaluation is
ut of the scope of this paper.
Finally, we acknowledge that despite conducting a rigorous re-
iew procedure for the ratings, still the rates rely on a subjective
nterpretation of the authors, hence the risk of bias is probable due
o the interpretive and subjective nature of any survey paper. To
lleviate this threat, it should be noted that the rating was not
erformed in a single step; rather, it was made after a few re-
nements. More specifically, each identified paper was read and
mmersed within the mind of the researcher of the current sur-
ey, as recommended by Braun and Clarke (2006) and then com-
ared with other identified papers. This helped us to get familiar
ith the depth of each study. In addition, in order to rate the ap-
roaches in a precise manner, we emphasised a proper extraction
f all relevant constructs (e.g. phases, activities, work-products)
rom the identified 43 studies as a basis for the rating and with
espect to the defined criteria. For the extraction of the constructs,
he authors were actively involved for the identification of the con-
tructs.
. Conclusion
We presented a systematic literature review on the legacy to
he cloud migration from the perspective of the process model.
s far as RQ1 is concerned, we reviewed, evaluated, and charac-
erised existing proposed approaches suggesting a methodological
olution for moving legacies to cloud environments. This was car-
ied out via conducting an exhaustive systematic literature review
ncluding manual and automatic search on major electronic scien-
ific databases since 2007, screening many papers and eventually
eading to 43 papers related to the migration legacy applications
o the cloud. An evaluation framework was suggested to highlight
mportant features, activities, and recommendations of the existing
pproaches. A particular strength of the framework is its potential
pplication as a yardstick in selecting approaches or a subset of
hem as to satisfy specific requirements of a given cloud migration
cenario at hand.
Regarding RQ2, several few research opportunities discussed in
his paper. Firstly, we found that researchers have not employed
ignificant research approaches such as interviews, focus groups,
bservations, surveys, design efforts, and archival materials so as
esign and evaluation of suggested migration approaches. While
he cumulative learning and understanding of the cloud migration
an be attained via sound research methodologies, this essence has
een less incorporated in the developing of current approaches.
econdly, a central aspect of the cloud migration is that a fixed
igration approach is not applicable for all given migration sce-
arios. Nevertheless, the literature review revealed that little work
xists that provides a mean to design situation-specific approaches
ith respect to the characteristics of a migration project. In ad-
ressing this gap, we suggested applying the situational method
ngineering which is to identify method fragments from existing
pproaches and combine them to design bespoke migration ap-
roaches fit migration scenarios. Thirdly, existing approaches need
o be empowered to with relevant method fragments to the as-
ects multi-tenancy, elasticity, test, and continuous integration as
hey have been weekly supported. Fourthly, the definition of new
oles specific to cloud application development has not been ex-
lored in the existing approaches. As mentioned in Section 5.3.4 ,
methodology should specify producer roles that are required to
arry out the migration process. Fifthly, recognising that there is a
heer volume of cloud migration research, which is currently dis-
ersed and fragmented, we suggested a need for a generic refer-
nce process model aiming at integrating the existing literature.
he fact that each year a considerable number of research pa-
ers are published in the cloud computing field, where each re-
orts different solutions, experience reports, and recommendations
o move legacy assets to cloud environments, itself is an evidence
hat the field has reached a maturity point where the development
f such a generic reference model is mandatory. Sixthly, some
riteria such as traceability, scalability, formality, and automation
ave been not been properly supported by the existing approaches.
52 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
S
S
S
m
i
w
The current state definitely calls for further enhancement of the
cloud migration with more quality approaches.
Finally, the results of analysing existing approaches have made
a rich inventory of important activities, recommendations, and
concerns that are commonly involved in a typical cloud migration
process in one place as described Sections 5.3 and 5.4 . In our view,
this inventory is a great contribution of this work which can be
used by academia and practitioners to understand the essence of
the cloud migration process. In addition, the results of the evalu-
ation existing approaches and the proposed evaluation framework
is helpful for practitioners to get an understanding of the applica-
bility of each individual approach and on the other hand compar-
ing the approaches to select one or a subset of them with respect
to their migration project requirements. In this regard, the survey
presents a basis for a well-informed decision. Another key contri-
bution of this survey is to enable people in the cloud computing
community to get an overall view of the current state of research
on the methodological aspect of legacy application migration to
the cloud including key concerns, activities, and criteria need to
be taken into account. It is enjoyed by a novice who will engage in
the cloud migration research and anyone who is interested in the
methodological aspect of moving legacies to cloud environments.
We hope that they expand cloud computing body of knowledge by
addressing the identified challenges.
Acknowledgements
The authors would like to thank Professor Fethi Rabhi from the
School of Computer Science and Engineering at UNSW for his con-
structive comments and suggestions for improving this paper. The
authors also wish to acknowledge comments made by anonymous
reviewers that greatly strengthened the manuscript.
Appendix A
Conducting literature review
Planning review
tep 1 pilot review and defining search strings. From the first
pilot review, we discerned that authors do not necessar-
ily use the terms process models, life cycle, or methodol-
ogy to name their proposal. This was why our initial search
strings missed some well-known paper related to cloud mi-
gration. To alleviate this issue, the search strings were re-
fined based on the recommended guidelines described in
Dieste and Padua (2007) in order to identify all relevant
studies even though they could not be labelled as a pure
software development methodology. The five steps were
followed: (1) Defining main terms by decomposing the re-
search questions; (2) Identifying alternative synonyms for
the main terms; (3) Checking the search strings in any rel-
evant papers that retrieved; (4) Incorporating alternative
synonyms using the logical operator ‘OR’; and (5) Using the
logical operator ‘AND’ to link the main terms. The terms
“Cloud”, “Cloud Computing”, “Service Computing”, “Legacy”,
Table A.1
List of search strings.
Search query (SQ)
SQ1: “Migration” OR “Cloud adoption” OR “Cloud migration” OR “migration to Cloud” O
SQ2: “Monolith application” OR “Legacy code” OR “Legacy system” OR “Legacy informat
OR “Legacy application” “On-premise application” OR “Monolithic system” OR “Existin
“Legacy program” OR “Pre-existing assets” OR “Legacy architecture” OR “Legacy asset”
SQ3: “Methodology” OR “Software Development Methodology” OR “Development Proces
“Methodology”, “Process Model”, “Reference Model”, “Mi-
gration”, and “Framework” were set as the main keywords
and based upon them, the different search strings were de-
fined using the logical operator OR to include synonyms for
each search string as well as the logical operator AND to
link together each set of synonyms. Using the appropriate
Boolean expressions, a set of search strings were generated
as shown in Table A.1 .
tep 2 selecting study sources. The following databases were
searched against the predefined search strings: IEEE Ex-
plore, ACM Digital Library, SpringerLink, ScienceDirect, Wi-
ley InterScience, ISI Web of Knowledge, and Google scholar.
These databases cover the vast majority of published stud-
ies in the software engineering field. In addition, journals,
conference, workshop proceedings and technical reports at-
tributed to cloud computing and SOA areas were sought.
These included IEEE Transaction of Cloud Computing, IEEE
Transaction of Service Computing, Software Engineering for
Cloud Computing, Cloud Computing International Confer-
ence, Cloud and Service Computing International Confer-
ence, International Conference of Service-Oriented Comput-
ing, Maintenance and Evolution of Service-Oriented and
Cloud-Based Systems, International Conference on Cloud,
Service-Oriented Computing and Applications, and Inter-
national Conference on High Performance Computing and
Communications.
tep 3 defining study inclusion and exclusion criteria. The crite-
ria for selecting a study were as follows:
– Relevant to the first research question (RQ1) though it
could be titled under different terms,
– Focused on the migration of legacy applications to cloud
environments, and directly dealt with the challenges as
stated in Section 2.2 ,
– Published between 2007 (the date of origination of
cloud computing) and June 2015.
This survey focused on studies pertaining to approaches for
oving legacy applications to cloud environments through propos-
ng a process model or framework. The following exclusion criteria
ere set for:
– High-level frameworks suggesting conceptual models for out-
sourcing business processes to cloud environments and do not
directly deal with legacy application migration were consid-
ered out the scope of this research. Consequently, these iden-
tified frameworks were excluded: Business Model Framework
(CBMF), Linthicum Cloud Computing Framework (LCCF), Oracle
Consulting Cloud Computing Services Framework, IBM Frame-
work for Cloud adoption (IFCA), BlueSky Cloud Framework for
e-Learning, and Hybrid ITIL V3 Framework for Cloud.
– Decision making frameworks aiding users to rank, evaluation,
and selection cloud providers that fit legacy application require-
ments.
– Studies in languages other than English were excluded from the
review.
R “Legacy to Cloud migration” OR “Legacy migration to Cloud” AND [SQ2 OR SQ3]
ion systems” OR “Existing system” OR “Legacy component” OR “Legacy software”
g software” OR “Pre-existing software” OR “Legacy information system” OR
s” OR “Process Model” OR “Reference Model” OR “Migration” OR “Framework”
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 53
Table A.2
Frequency of papers by year.
Year N %
2009 3 6 .9
2010 3 6 .9
2011 6 13 .9
2012 8 18 .6
2013 15 34 .8
2014 7 16 .2
2015 1 2 .3
Total 43 ∼100
C
d
(
r
m
t
n
i
w
s
p
c
c
a
p
a
t
a
T
T
D
onducting review
Step 1 study selection . This step dealt with the seeking of the
efined search strings (Step 1 of Planning) over scientific databases
Step 2 of Planning). A set of primary papers was identified as the
able A.3
istribution by publication channel.
Channel name
Book Chapter
International Conference on Cloud Computing and Services Science
Computer Communications and Networks
Cloud Computing
Journal
Software Practice and Experience
Cloud Computing with e-Science Applications
International Journal of Big Data Intelligence
International Journal of Cooperative Information Systems
Journal of Software Maintenance and Evolution
Journal of Systems and Software
International Journal of Cloud Computing and Services Science
International Journal of Mechatronics, Electrical and Computer Technology
IEEE Computer
Computing
International Journal on Advances in Software
IEEE Transaction on Cloud Computing
Information Technology
Conference
Services
Service-I
International Conference on Cloud Computing and Service Computing
International Conference on Internet and Web Applications and Services
International Conference on e-Business Engineering
International Conference on Object Oriented Programming Systems Languages and Ap
International Conference on Cloud Computing
International Symposium on Service-Oriented System Engineering
International Conference on Service-Oriented and Cloud Computing
International Service-Oriented Computing and Applications
International Conference on Cloud Engineering
World Congress on Services
International Conference on Computer Software and Applications
International Conference on High Performance Computing
International Conference on Cloud Computing
International Conference on Cloud Computing, GRIDs, and Virtualization
International Working Conference on Software Architecture
Symposium on Symbolic and Numeric Algorithms for Scientific Computing
IEEE International Symposium on the Maintenance and Evolution of Service-Oriented
Total:19 %38 .8
Workshop
International Workshop on Software Engineering for Cloud Computing
International Workshop on the Maintenance and Evolution of Service-Oriented and Cl
International Workshop on Modeling in Software Engineering
International Workshop on Service-Oriented Application
Total:4 %8 .2
White Paper
Amazon, Cloud Standards Customer Council,
Total:5 %10 .2
Total all publication type: 43
esult of the first iteration. Then the title, abstraction, and in the
ost cases, the content of each paper were scrutinised regarding
he inclusion and exclusion criteria, as defined in Step 3 of Plan-
ing. Reference snowballing was conducted in the sense that stud-
es were cited in the references or related work section of a paper,
ere fed into the conducting review process as new resources. In
ome cases, for example, study [S7] in Table Appendix B , that a
aper was not online accessible, its main author was communi-
ated in order to receive the paper. In the case of multiple publi-
ations from an author or a research community, the most recent
nd completed one was chosen for the review. Consequently, 43
apers were identified, as the output of this step, for the review
fter applying the inclusion and exclusion criteria.
Step 2 data extraction from the identified studies . Finally,
he proposed criteria in the evaluation framework were used as
lens to extract key data from the reminder identified papers.
hese data items enabled us to capture the full details of the stud-
Publisher name N
Springer 1
Springer 1
Springer 1
Total:3 %6 .1
Wiley Online Library 3
CRC Press/Taylor and Francis 1
Perpetual Innovation Media 1
World Scientific 1
Wiley InterScience 1
ScienceDirect 1
Institute of Advanced Engineering and Science 1
– 1
IEEE 1
Springer 1
GEOMAR 1
IEEE 1
De Gruyter 1
Total:15 %30 .6
IEEE 1
IEEE 1
IEEE 1
ThinkMind 1
IEEE 1
plications Unipub 1
IEEE 1
IEEE 1
Springer 1
IEEE 1
IEEE 1
IEEE 1
IEEE 1
IEEE 1
IEEE 1
XPS 1
ACM 1
IEEE 1
and Cloud-Based Systems IEEE 1
ACM 1
oud-Based Systems IEEE 1
IEEE 1
Springer 1
– 2
54 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Table A.4
Frequency of papers by year.
Continent Country N %
Europe Germany 9 18 .4
Ireland 5 10 .2
UK 2 4 .1
Spain 2 4 .1
Denmark 2 4 .1
Italy 1 2
Belgium 1 2
Bulgaria 1 2
Portugal 1 2
Norway 1 2
Greece 1 2
Sweden 1 2
Finland 1 2
Total 28 56 .9
North and South America USA 6 12 .2
Brazil 1 2
Canada 1 2
Total 8 16 .2
Asia China 2 4 .1
India 2 4 .1
United Arab Emirate 1 2
Korea 1 2
Iran 1 2
Total 7 14 .2
Australia Australia 2 4 .1
Total 2 4 .1
n
h
w
c
o
c
d
e
r
t
m
W
a
c
g
t
p
i
i
t
a
2
g
A
v
a
N
I
t
c
p
A
t
ies under review. The extracted data from the studies and their
analysis are presented in Sections 5.3 and 5.4 . Apart from the
data extraction using the framework, data items pertaining to re-
search quality were extracted for further assessment as discussed
in Section 5.1 . The criteria were borrowed from Critical Appraisal
Skills Programme ( Greenhalgh and Taylor, 1997 ) and those sug-
gested conducting empirical research in SE by Kitchenham et al.
(2002) . Appendix C presents these criteria.
Overview of approaches
Distribution by the year of publication. Table A.2 presents the
frequency of the proposed approaches since 2009. N shows the
Table B.1
Studies included in final review.
Study ID Authors and title Abbreviation Chann
[S1] Krasteva, I., S. Stavru, et al., “Agile
Model-Driven Modernization to the
Service Cloud ”
ICIW Confer
[S2] Beserra, P. V., A. Camara, et al,
“Cloudstep: A step-by-step decision
process to support legacy application
migration to the cloud ”
MESOCA Works
[S3] Anstett, T., Leymann, F., Mietzner, R.,
“Towards BPEL in the Cloud: Exploiting
Different Delivery Models for the
Execution of Business Processes ”
Services - I Confer
[S4] Conway, G. and E. Curry, “The IVI Cloud
Computing Life Cycle ”
CCSS Book C
[S5] Tran, V., J. Keung, et al, “Application
migration to cloud: a taxonomy of
critical factors ”
SECLOUD Works
[S6] Khajeh-Hosseini, A., D. Greenwood, et
al, “The cloud adoption toolkit:
supporting cloud adoption decisions in
the enterprise ”
SPE Journa
umber of publications per year. For example, until 2009 there
ave been 4 publications. The highest publication rate is in 2013
ith 17 papers (34.7%). As shown in this table there has been a
ontinuous growth in publications from 2009 to 2013. The number
f publications has decreased in years 2014 with 7 papers.
Distribution by publication type. Table A.3 presents a classifi-
ation of publications from academia and industrial sectors. It in-
icates that the most of the contributions are related to confer-
nces with 19 out of all 43 publications. Journals are the second-
anked publication channel with 15 publications in total. Among
hem, the journal of Software Practice and Experience published the
ost papers related to cloud migration approaches with 3 papers.
hite papers, workshops papers, book chapters, and dissertations
re placed as third, fourth, and fifth regarding the number and per-
entage of the total publications, respectively.
Distribution by authors’ nationality. Table A.4 shows the geo-
raphical distribution of the identified papers. The value N in this
able indicates the total number of time authors from a country
ublished a paper on the topic of the cloud migration. Accord-
ng to this table, German stands at the first place for publication
n this field with proposing 9 approaches (18.4% of total publica-
ion). USA and Ireland stand in the second and third places with 6
nd 5 publications, respectively. UK, Spain, and Denmark are with
published papers, following with Italy, Belgium, Bulgaria, Portu-
al, Norway, Greece, Sweden, and Finland with 1 published paper.
n ascending ordering of publications based on the continent re-
eals the cloud migration approaches in Europe with N = 28, North nd South America with N = 8, Asia with N = 7, and Australia with = 2. There were not any contributions from Africa in this survey.
t should be noted that Cisco, IBM, Logicalis, Cloud Standards Cus-
omer Council, and Remics consortium were not considered in the
ountry-based classification as they come from industry and dis-
ersed over the world.
ppendix B
This appendix presents the list of identified approaches from
he literature for the purpose of this survey.
Table B.1 .
el Source Year Affiliation
ence ThinkMind 2013 Rila Solutions EAD, Bulgaria
hop IEEE 2012 Brazil
ence IEEE 2009 Institute of Architecture of
Application Systems,
University of Stuttgart,
Germany
hapter Springer 2013 Innovation Value Institute,
National University of Ireland
hop ACM 2011 CSE, University of New South
Wales, Australia
l Wiley Online
Library
2012 Cloud Computing
Co-laboratory, School of
Computer Science University
of St Andrews, UK
( continued on next page )
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 55
Table B.1 ( continued )
Study ID Authors and title Abbreviation Channel Source Year Affiliation
[S7] Binz, T., Breitenbücher, U., “Migration of
enterprise applications to the cloud ”
– Journal Information
Technology
2014 University of Stuttgart
[S8] Chauhan, M. A. and M. A. Babar,
“Towards Process Support for Migrating
Applications to Cloud Computing ”
CSC Conference IEEE 2012 Software and Systems Group IT
University of Copenhagen,
Denmark
[S9] Strauch, S., et al. “Migrating eScience
Applications to the Cloud: Methodology
and Evaluation ”
– Journal CRC Press /
Taylor and
Francis
2014 Institute of Architecture of
Application Systems,
University of Stuttgart,
Germany
[S10] S. Strauch, V. A., D. Karastoyanova, F.
Leymann, “Migrating Enterprise
Applications to the Cloud: Methodology
and Evaluation ”
JBDI Journal Perpetual
Innovation
Media
2014 Institute of Architecture of
Application Systems,
University of Stuttgart,
Germany
[S11] Leymann, F., et al., “Moving applications
to the cloud: An approach based on
application model enrichment ”
JCIS Journal World Scientific 2011 Institute of Architecture of
Application Systems,
University of Stuttgart,
Germany
[S12] Zhang, W., et al., “Migrating legacy
applications to the service Cloud ”
OOPSLA Conference Unipub 2009 SINTEF, Norway
[S13] La and Kim 2009 , “A systematic process
for developing high quality saas cloud
services ”
– Book Chapter Springer 2009 Department of Computer
Science Soongsil University,
Korea
[S14] Miranda, J., et al., “Assisting Cloud
Service Migration Using Software
Adaptation Techniques ”
Cloud
Computing
Conference IEEE 2013 Dept. of Information
Technology and Telematic
Systems Engineering,
University of Extremadura,
C ́aceres, Spain
[S15] Guillén, J., et al., “A service-oriented
framework for developing cross cloud
migratable software ”
JSS Journal ScienceDirect 2013 GloIn, Calle Azorín 2, Cáceres,
Spain
[S16] SUN, K., Li, Y., “Effort Estimation in
Cloud Migration Process ”
SOSE Conference IEEE 2012 IBM Research - China
[S17] Rabetski, P. and G. Schneider,
“Migration of an On-Premise
Application to the Cloud: Experience
Report ”
ESOCC Conference Springer 2013 Department of Computer
Science and Engineering
Chalmers University of
Technology, and the
University of Gothenburg
Gothenburg, Sweden
[S18] C.,Pahl, H. Xiong, et al., “A Comparison
of On-Premise to Cloud Migration
Approaches ”
SOCC Conference Springer 2013 IC4, Dublin City University,
Dublin, Ireland
[S19] Laszewski, T. and P. Nauduri, “Migrating
to the Cloud: Oracle Client/Server
Modernization ”
Book – Elsevier 2012 USA
[S20] Jamshidi, P., Pahl, C., “Cloud Migration
Patterns: A Multi-Cloud Architectural
Perspective ”
WESOA Workshop Springer 2014 IC4 – the Irish Centre for Cloud
Computing and Commerce,
Dublin City University
Dublin, Ireland
[S21] Ahmad, Aakash, and Muhammad Ali
Babar., “A framework for
architecture-driven migration of legacy
systems to cloud-enabled software ”
WICSA Conference ACM 2014 IT University of Copenhagen,
Denmark
[S22] Ridha, Gadhgadhi, Khazri Saida, and
Cheriet Mohamed. “OPENICRA:
Towards A Generic Model for
Automatic Deployment of Applications
in the Cloud Computing ”
IJ-CLOSER Journal Institute of
Advanced
Engineering
and Science
2013 Multimedia Communication in
Telepresence, Montréal (QC),
Canada
[S23] Council, C. S. C., “Migration applications
to public Cloud Services: roadmap for
success ”
– – Cloud
Standards
Customer
Council
2013 Cloud Standards Customer
Council
[S24] Ahmad Jalili, and Omid Bushehrian, “A
Structured and Achromatic Process for
Legacy to Cloud Migration: A Survey ”
IJMEC Journal – 2014 Department of Computer
Engineering and Information
Technology, Shiraz University
of Technology, Shiraz, Iran
[S25] Quang Hieu, V. and R. Asal, “Legacy
Application Migration to the Cloud:
Practicability and Methodology ”
SERVICES World Congress IEEE 2012 Khalifa University, UAE, United
Arab Emirates
[S26] Benguria, G., Elvesæter, B., Ilieva, S.
“REuse and Migration of legacy
applications to Interoperable Cloud
Services ”
– REMICS REMICS
Consortium,
Research
Report
2013 SINTEF ICT
( continued on next page )
56 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Table B.1 ( continued )
Study ID Authors and title Abbreviation Channel Source Year Affiliation
[S27] S., Rajaraajeswari, R., Pethuru, “Cloud
Application Modernization and
Migration Methodology ”
– Book Chapter Springer 2013 Department of Master of
Computer Applications, India
[S28] Tang,K., Zhang J.M, Feng, C.H,
“Application Centric Lifecycle
Framework in Cloud ”
E-Business
Engineering
Conference IEEE 2011 IBM Research China
[S29] Maenhaut, p., Moens, H., Ongenae, V.,
Turck, F “Migrating legacy software to
the cloud: approach and verification by
means of two medical software use
cases ”
SPE Journal Wiley Online
Library
2015 Ghent University, Belgium
[S30] Binz, Leymann et al., “CMotion: A
framework for migration of
applications into and between clouds ”
SOCA Conference IEEE 2011 Institute of Architecture of
Application Systems
University of Stuttgart,
Germany
[S31] Jamshidi, P., Ahmad, A., Pahl, C., “Cloud
Migration Research: A Systematic
Review ”
TCC Journal IEEE 2013 School of Computing, Dublin
City University, Ireland
[S32] Ardagna, D., Casale., G., “MODACLOUDS:
A Model-Driven Approach for the
Design and Execution of Applications
on Multiple Clouds ”
MiSE Conference IEEE 2012 Politecnico di Milano
[S33] Wu, J., et al., “Migrating a Digital Library
to a Private Cloud ”
ICE Conference - 2014 Information Sciences and
Technology Computer Science
and Engineering Pennsylvania
State University, USA
[S34] Pahl, C. and H. Xiong, “Migration to
PaaS clouds-Migration process and
architectural concerns ”
MESOCA Conference IEEE 2013 the Irish Centre for Cloud
Computing and Commerce,
Ireland
[S35] Andrikopoulos, V., Binz, T., Leymann, F.,
Strauch, S., “How to Adapt
Applications for the Cloud
Environment ”
Computing Journal Springer 2013 Institute of Architecture of
Application Systems,
University of Stuttgart,
Germany
[S36] Bahga, A., Madisetti, V.K., “Rapid
Prototyping of Multitier Cloud-Based
Services and Systems ”
IEEE Computer Journal IEEE 2013 Georgia Tech, USA
[S37] C. Ward, N. Aravamudan, “Workload
Migration into Clouds – Challenges,
Experiences, Opportunities ”
Cloud Conference IEEE 2010 IBM
[S38] Lindner, M.A., McDonald, F., Conway, G.,
Curry E., “Understanding Cloud
Requirements - A Supply Chain
Lifecycle Approach ”
- Conference XPS 2011 SAP Research, Palo Alto, USA
[S39] Zhou, H., Yang, H.,Hugill, A., “An
Ontology-Based Approach to
Reengineering Enterprise Software for
Cloud Computing ”
COMPSAC Conference IEEE 2010 Software Technology Research
Laboratory Leicester, UK
[S40] Varia, J., “Migrating Your Existing
Application to the AWS Cloud. A
Phase-Driven Approach to Cloud
Migration ”
- White paper Amazon 2010 Amazon, USA
[S41] Frey, S. and W. Hasselbring, “The
cloudmig approach: Model-based
migration of software systems to
cloud-optimized applications ”
- Journal GEOMAR 2011 Software Engineering Group
University of Kiel, Germany
[S42] Banerjee, J., “Moving to the cloud:
Workload migration techniques and
approaches ”
HiPC Conference IEEE 2012 IBM Kolkata, India
[S43] Menychtas, A., Santzaridou,C.,
Kousiouris, G., Varvarigou, T., “ARTIST
Methodology and Framework: A novel
approach for the migration of legacy
software on the Cloud ”
SYNASC Conference IEEE 2013 Athens, Greece
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 57
A
T
R m et
ppendix C
Table C.1
able C.1
esearch quality criteria (adapted from Greenhalgh and Taylor (1997) and Kitchenha
Criteria name Definition Criterion type
Research aim Is there a clear statement of research
objective?
Scale form
Research context Is there an adequate description of the
context in which the research was
conducted?
Scale form
Research design Is there any appropriate research
design to conduct the research?
Scale form
Data collection Is there any clear description of data
collection method to address research
question?
Scale form
Data analysis Is there a clear and rigors description
of data analysis?
Scale form
Reflexivity Is there an appropriate relationship
between research and participants to
conduct research?
Scale form
Finding Is there a clear description of research
findings?
Scale form
Value Is there a clear description of
contributions to research and practice?
Scale form
Validation type Does a validation of the suggested
methodology exist?
Descriptive
.
al. (2002) ).
Possible values
The research provides a clear statement of the research objective.
The research provides a partial statement of the research objective.
The research does not provide a statement of the research objective.
The research clearly describes the research context.
The research partially describes the research context.
The research does not describe the research objective.
The research describes the research design.
The research provides a partial description of the research design.
The research does not describe the research design.
The research provides a clear description of data collection method.
The research provides a partial description of the data collection method.
The research does not provide a description of the data collection method.
The research clearly describes the data analysis.
The research partially describes the data analysis.
The research does not describe the data analysis.
The research clearly describes the data analysis.
The research partially describes the data analysis.
The research does not describe the data analysis.
The research provides a clear description of the research findings.
The research provides a partial description of the research findings.
The research does not provide a description of the research finding.
The research provides a clear description of the research contribution.
The research provides a partial description of the research contribution.
The research does not provide a description of the research contribution.
–
58 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Appendix D
Table D.1 .
Table D.1
Description of included cloud migration approaches in final review.
Year Study ID Aim
2009 [S12] The methodology proposes seven generic activities to aid
2009 [S13] As conventional approaches such as object-oriented meth
modelling common features, variability, and designing
SaaS applications. It uses product-line engineering noti
reusability
2009 [S3] This paper investigates how legacy business process mod
and SaaS. It also describes modifications are required t
of legacy assets to the cloud whilst data are kept in th
2010 [S39] This paper proposes a five-step ontology development pr
building an ontology for enterprise software and then
helps to understand legacy software and identify poten
2010 [S40] This paper suggests a phase-driven step-by-step methodo
presents several scenarios of deploying applications in
2010 [S37] This paper proposes a framework, called Darwin, with an
virtualised environments. The model helps for smooth
environment in a cost effective way, with minimal disr
2011 [S5] The authors have a cost-oriented view to the migration p
show a breakdown of costs and factors that impact on
Windows Azure. This taxonomy and cost factors contri
2011 [S11] A methodology and corresponding tool chains to rearran
components so that each group can be provisioned sep
application. The methodology has been described in te
to move an application to the cloud.
2011 [S28] An application centric lifecycle management framework
model-driven approach which captures information in
2011 [S30] This paper proposes a framework called CMotion to addr
different clouds. It uses adaptors to enable previously
techniques is the main idea behind this framework.
2011 [S38] The authors define a cloud lifecycle process from the per
plays an active role to manage the process for migratin
2011 [S41] A model-driven methodology including a set of reengine
architecture for IaaS and PaaS-based cloud environmen
2012 [S2] This paper presents Cloudstep, a step-by-step process fro
cloud models and services best suited for their applica
the migration process.
2012 [S6] A cloud adoption conceptual framework is proposed to s
the cloud and analysing the cost of deployment option
2012 [S8] This paper proposes a process model on the basis of gain
different cloud computing platforms. It provides guide
migration such as analysis of target cloud environment
specific quality attributes of SaaS applications, the imp
potential influence of different services offered by clou
to be migrated.
2012 [S16] A process-based effort estimation approach is presented
with a focus on infrastructure-level migration.
2012 [S19] The waterfall life cycle model has been used as a base to
service provider, migration effort estimation, training r
exhaustive amounts of information from the legacy sys
2012 [S24] A generic process model for the cloud migration with a
2012 [S25] A methodology to assess the feasibility of migration to P
general solutions to address incompatibilities.
2012 [S42] This paper offers a five-step migration methodology with
set of high-level migration patterns emerged from the
2012 [S32] A model-driven approach with a focus on the interopera
models are designed at a high level to abstract from th
platforms.
2013 [S1] This paper presents how the model-driven modernisation
execution of different migration activities.
2013 [S4] A nine-step cloud life cycle which is concerned with cha
return on investment. It includes the recommended ac
2013 [S14] An adaptation process to resolve incompatibility and ven
promotes the use of decoupling-aware mechanisms in
2013 [S15] An approach for developing cloud agnostic applications th
information about cloud deployment and cloud integrat
Interoperability between interdependent components d
service clients from legacy models.
developers to move monolithic legacy applications to SaaS.
odologies lack effectively support SaaS-specific engineering activities such as
quality services, this paper presents a systematic process model for developing
ons such as commonality and variability (C&V) modelling to maximise the
els can be executed in the cloud using service delivery models such as IaaS, PaaS,
o execute BPEL processes in the cloud. The focus is on moving the business logic
e local data centre.
ocess to reengineer legacy enterprise applications for shifting to the cloud by
partitioning and decomposing it into potential service candidates. The approach
tial service candidates that can meet the objectives of the cloud migration.
logy for moving enterprise applications to Amazon cloud. The methodology
Amazon.
emphasis on accelerating heterogeneous source/target migrations to standard
migration of the legacy workload from the local environment to a new cloud
uption and risk.
rocess and based on this propose a taxonomy of the migration activities. They
activities in a case-study in a .NET n-tier application which is migrated to run on
buted towards a cost estimation model of the cloud migration.
ge the legacy application components and classify them into groups of
arately to different clouds while preserving the desired properties of the whole
rms of the various activities to be performed and artefacts to be created in order
to deploy a complex application in the cloud. This framework exploits a
models that can be used to automatically generate code and configuration.
ess the vendor lock-in problem of application migration into and between
incompatible technologies to work together. Proposing various adaptation
spective of supply chain management. It demonstrates how the supply chain
g from an existing computing environment to a cloud hosting environment.
ering activities in order to translate legacy application architecture to a target
ts.
m a decision making viewpoint. It helps developers not only in selecting the
tion, but also in carefully assessing the various risks and benefits occur during
upport decision makers in identifying uncertainty to deploy legacy applications in
s which can affect bandwidth and the cloud service provider’s pricing scheme.
ed experience in moving an Open Source System (OSS), Hackystat, to two
lines, observations, and lessons learned regarding key issues involved in the
s against specific application’s requirements, evaluation of platforms for cloud
act of a target cloud platform on each of the migration activities, and the
d environments on migration activities and on the new architecture of a system
to assess the investment of the cloud migration process before it is undertaken
define a new methodology, concerning with activities such assessment, selecting
equirements, IT resource requirement for the migration project, capturing
tems, and database schema layout, testing, optimisation, and deployment.
focus on tools and techniques which can be applied in every step.
aaS along with compatibility checklist to estimate the cost of migration as well as
out re-architecting or re-engineering the existing applications. It also includes a
commonly found repeatable migration scenarios.
bility of applications in multiple cloud environments. In this approach, application
e targeted cloud, and then semi-automatically translated into to multi-cloud
can be enriched with Agile software development practices for a seamless
llenges such as security, data ownership, interoperability, service maturity, and
tivities to address these concerns.
dor lock-in issues between legacy applications and cloud services. The approach
the design of cloud applications.
at may be deployed across multiple cloud platforms. In this approach
ion is separated from the source code and managed by the framework.
eployed in different clouds is achieved by automatically generating services and
( continued on next page )
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 59
Table D.1 ( continued )
Year Study ID Aim
2013 [S17] This paper presents an experience of the migration process to Microsoft Azure platform in the context of a small company. It recommends
that activities and consideration should be taken into account in different migration scenarios, in particular from a performance and
cost perspective.
2013 [S18] The aim of the paper is to understand the core elements of cloud migration processes from an architecture perspective. Authors extract
commonalities and difference between migration process activities for migration to IaaS, SaaS, and PaaS and present a range of concerns
such architecture settings, costs, skills, and technologies.
2013 [S22] This paper focuses on the design and the implementation of a new generic model for automatic application deployment, called OpenICRA.
It aims to reduce application development complexity and to simplify cloud services deployment process.
2013 [S23] The methodology provides a series of activities that developers should take into account to ensure successful migration of existing
applications to IaaS. It details activities related to assessing applications and workloads, developing a business case and technical
approach, addressing security and privacy requirements as well as managing the migration process.
2013 [S34] A generic architecture-centric process for moving to PaaS. The focus is on programming and architecture design principles that need to be
incorporated in a migration process to PaaS. Experts’ opinions on two case studies have been used to formulate this process model.
2013 [S36] A three-phased architecture-centric development process for moving (or developing) multitier applications to the cloud with a focus on
architecture design principles such as scalability, performance, maintainability, portability, and interoperability.
2013 [S43] The methodology is a model-driven migration methodology and considers both the technical and business aspects of the legacy
applications. The methodology emphasises generating reusable artefacts from legacy models which can be transformed to multiple
cloud platforms.
2013 [S35] This paper categorises different migration types and identifies the potential impact and adaptation needs for each of these types on
application tiers. It also investigates various cross-cutting concerns such as security that need to be considered for the migration of the
application, and position them with respect to the identified migration types.
2013 [S27] A five-step process to discover the optimal balance of performance, agility, sustainability, and cost.
2013 [S31] Through using a systematic literature review, this paper introduces a conceptual process model called Cloud-RMM (Cloud - Reference
Migration Model), which classifies key process areas related to the cloud migration.
2013 [S26] The main objective of the REMICS (REuse and Migration of legacy applications to Interoperable Cloud Services) project is to specify,
develop, and evaluate a tool-supported model-driven methodology for migrating legacy applications to interoperable service cloud
platforms.
2014 [S33] This paper presents activities that authors carried out to move CiteSeerX into a private cloud. It also reports a number of lessons learned
from this migration experience, challenges encountered prior to and during the migration and post-migration issues and possible
solutions.
2014 [S9] This methodology consists of seven phases for moving the database tier of e-science applications to the cloud. It incorporates guidance on
choosing a cloud database solution and required refactoring activities.
2014 [S10] A step-by-step methodology for the migration of a legacy data tier to the cloud and the refactoring of the application architecture.
2014 [S21] An architecture-centric process, named Legacy-to-Cloud Migration Horseshoe, which views the migration as a set of recurring problems
that can be formulated as migration process patterns.
2014 [S20] This paper proposes 15 fine-grained patterns of the migration that target multi-cloud settings and are specified with architectural
notations.
2014 [S7] This approach defines activities for modeling an overall picture of enterprise applications and deploying them in the cloud.
2015 [S29] A generic model to migrate to a hybrid or public cloud environment, and the steps required to add multi-tenancy to legacies.
60 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
criter
Appendix E
Table E.1 .
Table E1
Result of evaluation of approaches based on the generic
Tailorability, and Tool Support.
ia Process Clarity, Procedure and Technique, Modelling,
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 61
A
T
G
ppendix F
Table F.1 .
able F.1
eneric criteria.
Criterion Evaluation question Criterion type
Process clarity Does the approach provide a clear
description of the suggested
phases and activities?
Scale
Procedures and
supportive
techniques
(i) What are the techniques to
perform each activity?
Scale
(ii) Are examples and heuristics of
the activities provided?
Modeling language Does the approach specify a
modelling or notational
component to represent
produced work-products during
the migration process?
Scale
Traceability Does the approach determine the
sequence of modelling or
dependencies between produced
work-products?
Tailorability (i) Is the approach based on a
one-size-fits-all assumption or
configurable regarding a given
migration scenario?
Scale
(ii) Is the approach have been
expressed in the form of
modular method fragments or
process components?
Tool support (i) Has the approach developed
specific tools to perform
migration process?
Scale
(ii) Does the approach use or
provide guidelines for developers
to select existing third-party
tools for modelling?
Description Source
The approach explicitly provides a
clear description of activities for
conducting the migration process.
( Ramsin and Paige, 2008 )
The approach provides a general
description for some activities but
details are lacking.
The approach provides either very
partial definition or any definition
for the activities.
The approach offers
techniques/examples for activities.
( Karam and Casselman, 1993 )
The approach offers
techniques/examples for some
activities.
The approach does not provide
supportive techniques or examples
for activities.
An existing modelling language or
a new one is prescribed for all of the
activities.
( Karam and Casselman, 1993;
Sturm and Shehory, 2004 )
An existing modelling language or
a new one is prescribed for some of
the activities.
Any modelling language has not
been specified.
The approach specifies the
traceability of all work-products in
the migration process.
( Karam and Casselman, 1993;
Ramsin and Paige, 2008;
Chitchyan et al., 2015 )
The approach specifies traceability
for a subset of activities.
Traceability links between
work-products have not been
specified.
The approach defines mechanisms
to configure and modify its suggested
process or modelling language.
( Karam and Casselman, 1993;
Ramsin and Paige, 2008 )
The approach provides a basis
(e.g. repository of method fragments)
so that the tailoring process is
facilitated.
Any tailoring mechanisms is
supported by the approach.
The approach provides tools for
the whole activities or integrated
with existing third-party tools.
( Karam and Casselman, 1993 )
The approach provides tools for
some activities but is lacking for
other.
The approach neither provides tool
nor refers to existing available
third-party tools for modelling
work-products.
( continued on next page )
62 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Table F.1 ( continued )
Criterion Evaluation question Criterion type Description Source
Theoretical
foundation
Is the approach has been inspired
or developed based on the
existing software engineering
paradigms or practice?
Descriptive – ( Karam and Casselman, 1993 )
Work-products What work-products are prescribed
by the approach to produce in
the migration process?
Descriptive – ( Karam and Casselman, 1993;
Sturm and Shehory, 2004 )
Development roles What development roles, who are
responsible for performing
migration activities or any
stakeholders, are defined by the
approach?
Descriptive – ( Karam and Casselman, 1993;
Sturm and Shehory, 2004 )
Domain
applicability
What are application domains for
which the approach is
applicable?
Descriptive – ( Karam and Casselman, 1993 )
Scalability Does the approach or a subset of it
is applicable to handle various
migration sizes?
Boolean Yes: The approach explicitly defines
mechanisms to support various
migration sizes and its scalability has
been demonstrated in real project.
( Sturm and Shehory, 2004; Karam
and Casselman, 1993; Chitchyan
et al., 2015 )
Does the methodology define
mechanisms or guidelines
suitable to handle different
migration sizes?
No: The approach does not support
scalability
Is there any real evidence of
applying the approach in the
migration of legacy application
with different sizes?
–
Formality Does the approach provide a
degree of formality on technical
aspects?
Boolean Yes: The approach provides formal
techniques for some activities.
( Karam and Casselman, 1993 )
Does the approach use
unambiguous mathematical
definitions for modelling or
describing work-products?
No: Any formalisms is supported by
the approach.
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 63
A
e clou
ppendix G
Table G.1
Table G.1
Evaluation results based on th
.
d-specific criteria.
64 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Appendix H
Table H.1 .
Table H.1
Cloud-specific criteria.
Criterion Evaluation question Cr
Migration type What kind of service delivery model and application tier
are concerned by the approach?
M
Unit of migration What tiers of application has the approach been designed
for the migration?
M
Context analysis Does the approach define activities related to assess the
suitability of migration to the cloud in terms of security,
legality, cost, organizational change, and user resistance?
Sc
Legacy application
understanding
(i) Does the approach provide activities for recapturing the
abstract representation of application architecture in
terms of functionalities, data, constraints, structure of
components, business and data tiers, design quality,
complexity, and coupling?
Sc
(ii) Does the approach identify and collect usage data of
working legacy application and its resource utilisation
model?
Migration
requirements
analysis
Does the approach provide activities to acquire a set of
requirements from multiple stakeholders about the
target cloud-enabled application according to the current
configuration setting of the legacy application?
Requirements such as computational requirements,
servers, data storage and security, networking and
response time, and elasticity requirements
Sc
Planning (i) Does the approach provide support for correct and safe
sequence of steps which guide the rest of migration
process?
Sc
(ii) Does the approach provide guidelines for a proper
roll-back plan to an in-house version of the legacy
application?
Cloud service
provider
selection
(i) Does the approach provide activities, guidelines, or
concerns that should be taken into account to choose a
cloud provider that meet requirements?
Sc
(ii) Does the approach address licensing issues in cloud
environments?
Training Does the approach specify necessary skill or training
requirements for developers and IT staff?
Sc
Component
selection and
distribution in
the cloud
What are the activities or guidelines in the approach to
assess and determine legacy components which are
suitable to be migrated to the cloud?
Sc
iterion type Possible evaluation result
ultiple Types I, II, III, IV, V
ultiple Whole Application Stack, User Interface Tier, Business Logic
Tier, Data Tier
ale The approach explicitly provides a clear description of
the activities for conducting a context analysis.
The approach provides a general description for
context analysis activity but details are lacking.
The approach provides either very partial definition
or any definition for the context analysis.
ale The approach explicitly provides a clear description of
the activities to discover knowledge about the legacy
application.
The approach provides a general description for
discovering knowledge about legacy application but
details are lacking.
The approach provides either very partial definition or
any definitions for the legacy application understanding.
ale The approach defines activities related to elicitation
and analysis of migration requirements.
The approach offers general guideline for requirement
analysis.
Migration requirement analysis is not addressed in the
approach.
ale The approach defines activities related to migration
planning.
The approach offers general guideline for planning.
The approach does not support planning activity.
ale The approach defines criteria or guidelines for
selection cloud services are to be utilised by the legacy
application.
The approach offers general guideline for cloud
service selection.
The approach does not support the activity of cloud
provider selection.
ale The approach explicitly defines an activity for
developers and IT staff training.
The approach suggests considering training activities
but does not define activities or guidelines for it.
The approach does not incorporate training into its
suggested process model.
ale The approach provides an explicit activity for selecting
legacy components which are suitable for migration to
the cloud and the way of arranging them in cloud
platforms.
Support for component selection and distribution is
implicit and confined to general advice.
The approach does not support this activity.
( continued on next page )
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 65
Table H.1 ( continued )
Criterion Evaluation question Criterion type Possible evaluation result
Incompatibility
resolution
(application
refactoring)
(i) Does the approach identify possible incompatibilities
and possible solutions to resolve these incompatibilities?
Scale The approach defines activities to identify
incompatibilities between legacy components and cloud
services and suggests techniques to resolve them.
(ii) What kind incompatibilities are concerned with the
approach?
The approach concerns incompatibilities between
legacy application and cloud services, however, does not
define an explicit activity to identify and address these
incompatibilities.
The approach does not address incompatibilities.
Enabling
multi-tenancy
(i) Does the approach provide activities, techniques, or
guidelines for detecting and handling faults which might
incur in a tenant (tenant availability isolation)?
Scale The approach defines activities to address
multi-tenancy.
(ii) Does the approach include activities for identifying
commonality and variability in the target domain? Any
specific techniques are offered for application
customisability on the basis of particular (application
customisability)?
The approach concerns with multi-tenancy but there
is not guideline to enable multi-tenancy in the legacy
application.
(iii) Does the approach provide mechanisms to protect
tenants from each other in terms of access to data and
security (security isolation)?
The approach does not address multi-tenancy.
(iv) Does the approach provide support to protect tenant’s
performance from being affected by other tenant’s
behaviour (tenant performance isolation)?
Enabling
application
elasticity
Is there any activity or guideline in the approach to define
scaling rules, dynamic acquisition and release of cloud
resources?
Scale The approach defines activities to address elasticity.
The approach concerns with multi-tenancy but there
is not guideline to enable elasticity in the legacy
application.
The approach does not address elasticity.
Test and
continuous
integration
(i) What kind of test activities are defined in the approach?
(ii) Is there any systematic support to apply changes to
application parts which are host in the cloud?
Scale The approach defines a detailed activity to conduct test
and integration.
The approach provides general guidelines to conduct
test and integration.
The approach does not cover test and integration.
Environment
configuration
How approach provides support for re-configuring the
running environment of the application including
reachability policies to resources and network,
connection to storages, setting ports and firewalls, and
load balancer?
Scale The approach defines a detailed activity to prepare
cloud environment to deploy the application.
The approach provides general guidelines for
configuring the cloud environment prior deploying
application.
The approach does not support environment
configuration.
Continuous
monitoring
Does the approach provide mechanisms for continuously
monitoring application components utilising cloud
services e.g. CPU, Memory, Disk I/O, and Network I/O?
Scale The approach explicitly provides an activity for
continuous application monitoring when running in the
cloud.
The approach provides general advice for application
monitoring in the cloud.
The approach does not support application monitoring.
66 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
Appendix I
Table I.1 .
Table I.1
Quality assessment of the studies.
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 67
R
A
A
A
B
B
B B
B
B
B
B
B
B
B
B
B
C
C
D
D
D
E A
F
G
G
G
G
G
H
H
H
J
J
K
K
K
K
K
K
K
K
L
L
L
L
M
M
M
N
P
R
R R
R
R
R
S
S
S
S
S
S S
S
T
T
eferences
ndrikopoulos, V. , Binz, T. , Leymann, F. , Strauch, S. , 2013. How to adapt applications
for the Cloud environment. Computing 95, 493–535 .
rmbrust, M. , Fox, A. , Griffith, R. , Joseph, A.D. , Katz, R. , Konwinski, A. , Lee, G. , Patter- son, D. , Rabkin, A. , Stoica, I. , 2010. A view of cloud computing. Commun. ACM
53, 50–58 . vison, D. , Fitzgerald, G. , 2003. Information Systems Development: Methodologies,
Techniques and Tools. McGraw Hill . arbier, F. , Hein, C. , 2011. State of the art on modernization methodologies, methods
and tools. REMICS Consortium, Research Report, March .
enguria, G., Elvesæter, B. & Ilieva, S. 2013. Deliverable D2. 6 REMICS Handbook, REMICS, Final Release.
ennett, K. , 1995. Legacy systems: coping with success. IEEE Software 12, 19–23 . ezemer, C.-P. , Zaidman, A. , 2010. Multi-tenant SaaS applications: maintenance
dream or nightmare? In: Proceedings of the Joint ERCIM Workshop on Soft- ware Evolution (EVOL) and International Workshop on Principles of Software
Evolution (IWPSE). ACM, pp. 88–92 . isbal, J. , Lawless, D. , Wu, B. , Grimson, J. , 1999. Legacy information systems: issues
and directions. IEEE Software 16, 103–111 .
isbal, J. , Lawless, D. , Wu, B. , Grimson, J. , Wade, V. , Richardson, R. , O’sullivan, D. , 1997. An overview of legacy information system migration. In: Software En-
gineering Conference, 1997. Asia Pacific... and International Computer Science Conference 1997. APSEC’97 and ICSC’97. Proceedings. IEEE, pp. 529–530 .
lodget, H. 2011. Amazon’s cloud crash disaster permanently destroyed many customers’ data. Available at http://www.businessinsider.com.au/
amazon- lost- data- 2011- 4 [Last access June 2015.
örner, R. , 2010. Applying situational method engineering to the development of service identification methods. AMCIS .
raun, V. , Clarke, V. , 2006. Using thematic analysis in psychology. Qual. Res. Psychol. 3, 77–101 .
rebner, P.C. , 2012. Is your cloud elastic enough?: performance modelling the elas- ticity of infrastructure as a service (IaaS) cloud applications. In: Proceedings of
the Third Joint WOSP/SIPEW International Conference on Performance Engineer-
ing. ACM, pp. 263–266 . rinkkemper, S. , 1996. Method engineering: engineering of information systems de-
velopment methods and tools. Inf. Software Technol. 38, 275–280 . rodie, M. , Stonebraker, M. , 1995. Migrating Legacy Systems: Gateways, Interfaces &
the Incremental Approach. Morgan Kaufmann Publishers Inc . uyya, R. , Yeo, C.S. , Venugopal, S. , Broberg, J. , Brandic, I. , 2009. Cloud computing and
emerging IT platforms: vision, hype, and reality for delivering computing as the
5th utility. Future Gener. Comput. Syst. 25, 599–616 . hauhan, M.A. , Babar, M.A. , 2012. Towards process support for migrating applica-
tions to cloud computing. In: 2012 International Conference on Cloud and Ser- vice Computing (CSC), 22–24 Nov. 2012, pp. 80–87 .
hitchyan, R., Rashid, A., Sawyer, P., Garcia, A., Alarcon, M.P., Bakker, J., Tekinerdogan, B., Clarke, S. & Jackson, A. 2015. Survey of aspect-oriented analysis and design
approaches.
alheimer, M. , Pfreundt, F.-J. , 2009. Genlm: license management for grid and cloud computing environments. In: Cluster Computing and the Grid, 2009. CCGRID’09.
9th IEEE/ACM International Symposium on. IEEE, pp. 132–139 . edeke, A. , 2012. Improving legacy-system sustainability: a systematic approach. IT
Prof. 14, 38–43 . ieste, O. , Padua, O. , 2007. Developing search strategies for detecting relevant
experiments for systematic reviews. In: Empirical Software Engineering and
Measurement, 20 07. ESEM 20 07. First International Symposium on. IEEE, pp. 215–224 .
rlikh, L. , 20 0 0. Leveraging legacy system dollars for e-business. IT Prof. 2, 17–23 . vailable at Fahmideh, M. . A generic process metamodel for cloud migration .
ox, A., Griffith, R., Joseph, A., Katz, R., Konwinski, A., Lee, G., Patterson, D., Rabkin, A. & Stoica, I. 2009. Above the Clouds: A Berkeley View of Cloud Computing.
Dept. Electrical Eng. and Comput. Sciences, University of California, Berkeley, Rep. UCB/EECS, 28.
irish, L. , Guruprasad, H. , 2014. Survey on service migration to cloud architecture.
Int. J. Comput. Sci. Eng. Technol. 5, 507–510 . onzalez-Perez, C. , Henderson-Sellers, B. , 2008. Metamodelling for Software Engi-
neering. Wiley Publishing . reenhalgh, T. , Taylor, R. , 1997. How to read a paper: papers that go beyond num-
bers (qualitative research). BMj 315, 740–743 . u, Q. , Lago, P.A. , 2007. Stakeholder-driven service life cycle model for SOA. In: 2nd
International Workshop on Service Oriented Software Engineering: in Conjunc-
tion with the 6th ESEC/FSE Joint Meeting. ACM, pp. 1–7 . uo, C.J. , Sun, W. , Huang, Y. , Wang, Z.H. , Gao, B. , 2007. A framework for native mul-
ti-tenancy application development and management. In: E-Commerce Technol- ogy and the 4th IEEE International Conference on Enterprise Computing, E-Com-
merce, and E-Services, 20 07. CEC/EEE 20 07. The 9th IEEE International Confer- ence on. IEEE, pp. 551–558 .
amdaqa, M. , Tahvildari, L. , 2012. Cloud computing uncovered: a research land-
scape. Adv. Comput. 86, 41–85 . enderson-Sellers, B. , Ralyté, J. , 2010. Situational method engineering:
state-of-the-art review. J. UCS 16, 424–478 . olland, C. , Light, B. , 1999. A critical success factors model for ERP implementation.
Software, IEEE 16, 30–36 . acobs, D. , Aulbach, S. , 2007. Ruminations on Multi-Tenant Databases. BTW,
pp. 514–521 .
amshidi, P. , Ahmad, A. , Pahl, C. , 2013. Cloud migration research: a systematic re- view. IEEE Trans. Cloud Comput. 1, 142–157 .
aram, G.M. , Casselman, R.S. , 1993. A cataloging framework for software develop- ment methods. Computer 26, 34–45 .
hadka, R. , Reijnders, G. , Saeidi, A. , Jansen, S. , Hage, J. , 2011. A method engi- neering based legacy to SOA migration method. In: Software Maintenance
(ICSM), 2011 27th IEEE International Conference on, 25-30 Sept. 2011, pp. 163– 172 .
hadka, R. , Saeidi, A. , Idu, A. , Hage, J. , Jansen, S. , 2013. Legacy to SOA evolution: a
systematic literature review. In: Ionita, A.D., Litoiu, M., Lewis, G. (Eds.), Migrat- ing Legacy Applications: Challenges in Service Oriented Architecture and Cloud
Computing Environments. Citeseer . husidman, V. & Ulrich, W. 2007. Architecture-driven modernization: transforming
the enterprise. DRAFT V. 5. OMG (2007). itchenham, B. , Linkman, S. , Law, D. , 1997. DESMET: a methodology for evaluat-
ing software engineering methods and tools. Comput. Control Eng. J. 8, 120–
126 . itchenham, B. , Pearl Brereton, O. , Budgen, D. , Turner, M. , Bailey, J. , Linkman, S. ,
2009. Systematic literature reviews in software engineering – a systematic lit- erature review. Inf. software technol. 51, 7–15 .
itchenham, B. , Pfleeger, S.L. , Pickard, L.M. , Jones, P.W. , Hoaglin, D.C. , El Emam, K. , Rosenberg, J. , 2002. Preliminary guidelines for empirical research in software
engineering. IEEE Trans. Software Eng. 28, 721–734 .
won, Y.-W. , Tilevich, E. , 2014. Cloud refactoring: automated transitioning to cloud-based services. Autom. Software Eng. 21, 345–372 .
a, H.J. , Kim, S.D. , 2009. A systematic process for developing high quality saas cloud services. Cloud Computing. Springer .
ane, S. , Richardson, I. , 2011. Process models for service-based applications: a sys- tematic literature review. Inf. Software Technol. 53, 424–439 .
aszewski, T. , Nauduri, P. , 2011. Migrating to the Cloud: Oracle Client/Server Mod-
ernization. Elsevier . ouridas, P. , 2010. Up in the air: moving your applications to the cloud. IEEE Soft-
ware 27 (4), 6–11 . ahmood, Z. , 2013. Cloud Computing Methods and Practical Approaches.
Springer-Verlag, London . edina, V. , García, J.M. , 2014. A survey of migration mechanisms of virtual ma-
chines. ACM Comput. Surv. 46, 1–33 .
ohagheghi, P. , Berre, A. , Henry, A. , Barbier, F. , Sadovykh, A. , 2010. REMICS- REuse and migration of legacy applications to interoperable cloud services. In:
Nitto, E., Yahyapour, R. (Eds.), Towards a Service-Based Internet. Springer Berlin Heidelberg .
athuji, R. , Kansal, A. , Ghaffarkhah, A. , 2010. Q-clouds: managing performance inter- ference effects for qos-aware clouds. In: Proceedings of the 5th European Con-
ference on Computer Systems. ACM, pp. 237–250 .
ahl, C. , Xiong, H. , Walshe, R. , 2013. A comparison of on-premise to cloud migration approaches. Service-Oriented and Cloud Computing. Springer .
amsin, R. , Paige, R.F. , 2008. Process-centered review of object oriented software development methodologies. ACM Comput. Surv. (CSUR) 40, 3 .
azavian, M. , 2013. Knowledge-Driven Migration to Services. Vrije Universiteit . azavian, M. , Lago, P. , 2015. A systematic literature review on SOA migration. J. Soft-
ware: Evol. Process 27, 337–372 . ied, S. , Kisker, H. , 2011. Sizing the Cloud—A BT Futures Report. Forrester Research,
Inc., Cambridge, MA .
imal, B.P. , Eunmi, C. , Lumb, I.A , 2009. Taxonomy and survey of cloud computing systems. In: INC, IMS and IDC, 2009. NCM ’09. Fifth International Joint Confer-
ence on, 25-27 Aug. 2009, pp. 44–51 . istenpart, T. , Tromer, E. , Shacham, H. , Savage, S. , 2009. Hey, you, get off of my
cloud: exploring information leakage in third-party compute clouds. In: Pro- ceedings of the 16th ACM Conference on Computer and Communications Se-
curity. ACM, pp. 199–212 .
ingh, S. , Chana, I. , 2012. Cloud based development issues: a methodical analysis. Int. J. Cloud Comput. Serv. Sci. 2, 73–84 .
need, H.M. , 1995. Planning the reengineering of legacy systems. Software, IEEE 12, 24–34 .
need, H.M. , 2006. Integrating legacy software into a service oriented architecture. In: Software Maintenance and Reengineering, 2006. CSMR 2006. Proceedings of
the 10th European Conference on, 22-24 March 2006, pp. 11–14 .
ommerville, I. , Ransom, J. , 2005. An empirical study of industrial requirements engineering process assessment and improvement. ACM Tran. Software Eng.
Methodol. 14, 85–117 . tafford 2013. Cloud developer job description getting more complicated
all the time. in http://searchcloudapplications.techtarget.com/opinion/ Cloud- developer- job- description- getting- more- complicated- all- the- time (last
access 9/07/2015).
tone, A. , 2001. Keeping Legacy Software Alive. Bloomberg Businessweek . trauch, S. , Andrikopoulos, V. , Karastoyanova, D. , Leymann, F. , 2014. Migrating en-
terprise applications to the cloud: methodology and evaluation. Int. J. Big Data Intell. 1, 127–140 .
turm, A. , Shehory, O. , 2004. A framework for evaluating agent-oriented method- ologies. In: Agent-Oriented Information Systems. Springer, pp. 94–109 .
aher, Y. , Nguyen, D.K. , Lelli, F. , Van Den HEUVEL, W.-J. , Papazoglou, M. , 2012. On
engineering cloud applications-state of the art, shortcomings analysis, and ap- proach. Scalable Comput. 13, 215–231 .
oosi, A.N. , Calheiros, R.N. , Buyya, R. , 2014. Interconnected cloud computing envi- ronments: challenges, taxonomy, and survey. ACM Comput. Surv. 47, 7 .
68 M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69
W
Y
Z
Tran, Q.-N.N. & Low, G.C. 2005. Comparison of ten agent-oriented methodologies. Agent-Oriented Methodologies , Idea Group Publising, pp. 341-367.
Vaquero, L.M. , Rodero-Merino, L. , Buyya, R. , 2011. Dynamically scaling applications in the cloud. ACM SIGCOMM Comput. Commun. Rev. 41, 45–52 .
Warren, I. , Ransom, J. , 2002. Renaissance: a method to support software system evolution. In: Computer Software and Applications Conference, 2002. COMPSAC
2002. Proceedings. 26th Annual International, 2002, pp. 415–420 .
ood, B., Pethia, R., Gold, L.R. & Firth, R. 1988. A guide to the assessment of soft- ware development methods. DTIC Document.
I, W. , Blake, M.B. , 2010. Service-oriented computing and cloud computing: chal- lenges and opportunities. Internet Comput. IEEE 14, 72–75 .
immermann, O. , Miksovic, C. , Küster, J.M. , 2012. Reference architecture, metamodel, and modeling principles for architectural knowledge management in informa-
tion technology services. J. Syst. Software 85, 2014–2033 .
M.F. Gholami et al. / The Journal of Systems and Software 120 (2016) 31–69 69
M es. He holds a B.Sc. and an M.Sc. in the software engineering. Mahdi’s general research i ud computing, and service-oriented architecture. Prior starting his PhD, Mahdi has served
a years.
F of Technology, Sydney Australia. He is a Senior Lecturer at the UNSW Business School, U angkok University. Farhad is the creator of the Awareness Modeling Language, and has
p s, and was awarded twice for his Outstanding Research Article at the University of New S
G He is an emeritus professor of information systems in the School of Information Systems,
T rogram focuses on the implementation and adoption of new technologies. This can take t ment such as methodological approaches to agent-oriented information systems design
a
G owledge Systems from the University of New South Wales. He is currently an Associate P of Wollongong. He is also Director of Software Design Science Research Centre. He has
a stigates the best uses of ontologies in developing methodologies for distributed systems.
H d their applications, knowledge acquisition and disaster management.
ahdi Fahmideh Gholami is a PhD candidate at the University of New South Wal nterests are design science research, conceptual modeling, method engineering, clo
s a system analyst and programmer in national government IT projects for several
arhad Daneshgar received his PhD in Information Systems from the University niversity of New South Wales, Sydney, Australia, and is an adjunct Professor at B
ublished extensively in the areas of Knowledge Management and Enterprise System outh Wales. Farhad is a member of editorial board in five academic journals.
raham Low received the BE and PhD degrees from The University of Queensland.
echnology and Management at the University of New South Wales. His research p he form of new/modified approaches/techniques for information systems develop
nd management of the information systems design and implementation process.
hassan Beydoun received a degree in Computer Science and a Ph.D. degree in Kn rofessor at the School of Computing and Information Technology at the University
uthored more than 100 papers for international journals and conferences. He inve
is other research interests include multi-agent systems applications, ontologies an
- Cloud migration process-A survey, evaluation framework, and open challenges
- 1 Introduction
- 2 Background and related work
- 2.1 Etymology
- 2.2 Key concerns in application migration to cloud environments
- 2.3 Related surveys
- 3 Evaluation framework
- 4 Survey
- 5 Results
- 5.1 Overview of approaches
- 5.2 RQ1 what are existing approaches proposing a migration model for moving legacy applications to cloud environments?
- 5.3 RQ2.1 What generic criteria, as typically expected for a software development methodology, are supported by these approaches?
- 5.3.1 Process clarity
- 5.3.2 Procedures and supportive techniques
- 5.3.3 Tailorability
- 5.3.4 Development roles
- 5.3.5 Modelling language
- 5.3.6 Traceability
- 5.3.7 Work-products (artefacts)
- 5.3.8 Formality
- 5.3.9 Scalability
- 5.3.10 Domain applicability
- 5.3.11 Tool support
- 5.4 RQ2.2 what cloud-specific criteria are supported by these approaches?
- 5.4.1 Migration type
- 5.4.2 Unit of migration
- 5.4.3 Analysing context
- 5.4.4 Understanding legacy application
- 5.4.5 Analysing cloud migration requirements and objectives
- 5.4.6 Planning migration
- 5.4.7 Cloud service/platform selection
- 5.4.8 Re-architecting legacy application
- 5.4.9 Training
- 5.4.10 Test and continuous integration
- 5.4.11 Environment configuration
- 5.4.12 Continuous monitoring
- 6 Challenges and future directions
- 7 Threat to validity
- 8 Conclusion
- Acknowledgements
- Appendix A
- Conducting literature review
- Planning review
- Conducting review
- Overview of approaches
- Appendix B
- Appendix C
- Appendix D
- Appendix E
- Appendix F
- Appendix G
- Appendix H
- Appendix I
- References