You are on page 1of 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/261039376

Software Engineering for the Cloud: A Research Roadmap

Conference Paper · September 2012


DOI: 10.1109/SBES.2012.12

CITATIONS READS
24 492

2 authors, including:

Elias Nogueira
University of São Paulo
10 PUBLICATIONS   44 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

uma abordagem dirigida por modelos para desenvolvimento de aplicações interoperaveis da Computaçao em nuvem (com foco em PaaS). View project

Usability for different audiences: principles and applications View project

All content following this page was uploaded by Elias Nogueira on 20 July 2017.

The user has requested enhancement of the downloaded file.


Software Engineering for the Cloud: a Research
Roadmap
Elias Adriano Nogueira da Silva Daniel Lucrédio
Federal University of São Carlos,São Paulo, Brazil Federal University of São Carlos,São Paulo, Brazil
Email: elias.silva@dc.ufscar.br Contact: http://www.dc.ufscar.br/~daniel

Abstract—Having arisen from the industry, cloud comput- However, the approach followed by the Berkeley report
ing is receiving increasing attention from the academy. We was more general. It pointed out some major challenges that
are witnessing an increasing number of papers dedicated to relate to cloud computing from a higher perspective, leaving
experience reports and proposal of methods, processes and
tools focused on cloud-related technology. Researchers are also some unanswered questions in different research areas. One
attempting to identify and formalize the main concepts behind of these areas is software engineering, which is the subject
cloud computing, forming a basis for future investigations about of this paper. In this scenario, some of the first questions that
how this approach can be used to promote advances in many need to be answered by software engineering researchers and
fields of computer science. However, while the main research practitioners are: what are the main challenges and research
challenges and opportunities related to cloud computing in
general are already well-known, in the software engineering opportunities in developing software for the cloud, in terms
area the scenario is less clear. In this paper, we present the of methodologies, languages, frameworks, tools and other
results of a systematic literature review where we tried to software engineering concerns? What has already been done
understand how researchers from the software engineering field in these few years of cloud research, from the software
are viewing the cloud computing paradigm. We identified ten engineering perspective?
software engineering research opportunities focused specifically
on cloud computing, which are presented and discussed in terms To try to answer this question, we performed a system-
of related work. We also present a discussion on some practical atic review in the available literature, including academic
issues related to the development of software for the cloud, trying and industrial publications. Our objective was to elicit some
to make some obscure points clearer and aiming to facilitate the gaps, challenges and opportunities for software engineering
work of software engineering researchers and practitioners. researchers, as well as to provide guidance to practitioners in
terms of describing what is involved in the adoption of current
I. I NTRODUCTION
cloud technologies.
The concept of cloud computing has gained recent atten- Our research method and findings are described in the
tion mainly because of the industry’s initiative. Companies remainder of this paper. First, we discuss a brief background
attempted to optimize and even profit from their computing (Section II) on cloud computing and related concepts. Next
infrastructure, and thus a plethora of related concepts and (Section III), we describe the systematic review process,
proprietary technology started to appear, aiming mostly at including the search protocol, the adopted criteria and some
the potential market. It was only recently that the academic interesting data related to the study. In Section IV we present
community started to look at these concepts more carefully. the results of the review and our main findings. We identified
Although it is possible to track down earlier related work ten different research opportunities, which we believe need to
describing virtualization, grid computing and clusters [1], [2], be further investigated by the software engineering community.
[3], which are concepts related to clouds, the first academic These may serve as a basis for future work in the field. In
papers dealing explicitly with cloud computing started to Section V we present a secondary result of this study, which
appear around 2008-2009 [4], [5], [2]. Most of these were includes some observations related to software engineering for
attempts to propose a proper definition for cloud computing the cloud, but from a more practical perspective. We try to
and its underlying concepts and technologies [4], [2], [6]. clarify some points that we found to be a little confusing in
However, up to this date, no definition is widely accepted by the literature, in order to help software engineering researchers
the community [2], [7], [8]. and practitioners in the development of their work. Section VI
One study that stands out is a 2009 technical report from the discusses related work. Finally, in Section VII we present some
University of California at Berkeley [9], a prominent academic concluding remarks.
group in the field. The report discusses the main concepts
behind cloud computing, and presents some upcoming chal- II. BACKGROUND
lenges and research opportunities for the academic community. The concept of cloud did not arise as a new technology
Soon this report and its authors became widely cited, laying model, but as the integration of technologies from the past [8],
down the ground for different research directions in the cloud which resulted in a new way to use and provide computing
computing field. power as a service through the Internet.
The main ideas behind this concept are: to allow companies resources, making it possible to deploy and run any
to acquire computing resources by demand; to enable payment software, including operating systems and applications.
according to the utilization volume; and to make it possible for It is normally a virtual computer that runs on a real
a company to completely ignore the knowledge about where infrastructure maintained by a provider. The customer
these resources come from [9]. has full control over the (virtualized) operating system
There is still no widely accepted academic definition for and the running applications. The most interesting part
cloud computing [7], [8]. Vaquero et al. [2] made a thorough of this approach is the possibility to rapidly increase
study of the various definitions found in the literature to the computational power, which can sometimes be done
achieve a more complete definition. Although it is still a automatically by the provider. Some examples of IaaS
proposal, their definition is consistent and complete, and include: Amazon7 , GoGrid8 , IBM SmartCloud9 , among
therefore is the one used in this work: “Clouds are a large others.
pool of easily usable and accessible virtualized resources Another classification that can be made considers aspects
(such as hardware, development platforms and/or services). such as ownership and sharing of the cloud infrastructure. A
These resources can be dynamically reconfigured to adjust to cloud environment that is shared among different customers is
a variable load (scale), allowing also for an optimum resource called a “public” cloud [9], [13]. Such environment is normally
utilization. This pool of resources is typically exploited by owned, hosted and maintained by an organization selling cloud
a pay-per-use model in which guarantees are offered by the services, and is provided to the public in general under a
Infrastructure Provider by means of customized SLAs” [2]. contract where many users share the same infrastructure and
This definition contains the main elements of cloud comput- pay for what they use [13], [6]. Amazon, Google App Engine
ing, but it is too general regarding the resources. Apparently, and Azure are examples of public clouds.
any kind of resources could be virtualized. To make this Most public cloud providers use many security mechanisms,
definition more concrete, we could look at the many tax- but if for some reason an organization does not want to deploy
onomies that attempt to characterize which kinds of resources its data or business logic into a public cloud, it may build
can be made available in a cloud. Many were conceived or rent its own cloud infrastructure. This is called a “private”
under a business perspective [6], and include terms such as cloud, i.e. operated solely for an organization. It may be hosted
HaaS (Hardware as a Service), PaaS (Platform as a Service), and managed by the organization itself or by a third party, and
DaaS ([Development, Database, Desktop] as a Service), IaaS may be deployed on premise or off premise [13], [6]. This
(Infrastructure as a Service), BaaS (Business as a Services), allows organizations to obtain the benefits of cloud computing,
TaaS (Testing as a Service [10], [11]), FaaS (Framework such as server virtualization10 and elasticity, without having to
as a Service), and even the generic XaaS (Everything as a share the same physical infrastructure with other organizations.
Service). The definitions behind those terms are very wide and However, differently from public clouds, an upfront investment
sometimes misunderstood [12], but there are three categories on infrastructure needs to be made.
that seem to be more well established: A compromise between these models, where parts of an
• Software as a Service - SaaS: refers to applications that application run in a public cloud and other parts run in a
are delivered to customers in the form of services over the private cloud, is also possible. This is known as a “hybrid”
Internet [9], [13]. A SaaS normally operates over a cloud cloud [6], [13].
infrastructure, but this is not necessary. Examples of
SaaS inclide: Google Drive1 , Flickr2 , Picasa3 , SkyDrive4 , III. T HE S YSTEMATIC R EVIEW
among others. In this study, we followed a formal systematic literature
• Platform as a Service - PaaS: the idea is to provide a full review process [15], [16], [17]. A systematic review proposes
software development platform as a service, including an a fair assessment of the research topic as it uses a rigorous and
execution environment, frameworks and different useful reliable review methodology, together with auditing tasks to
integrable services [6], [13]. Normally, the service also reduce the researcher bias [18]. To enable the documentation
includes hosting, testing and a distribution channel or of the systematic review and to facilitate the process, the
market. Some examples are: Google App Engine5 and START11 tool was used [19]. As part of the process, we
Microsoft Azure6 , among others. developed a protocol that provided a plan for the review in
• Infrastructure as a Service - IaaS: consists in delivering terms of the method to be followed. Table I shows a synthesis
computational infrastructure as a service [6], [13]. The of the systematic review protocol.
customer acquires - and pays by demand - services for A total of 122 articles were analyzed, of which 100 were
processing, storage and other fundamental computing selected and their data extracted and analyzed according
1 Google Drive: http://drive.google.com/ 7 Amazon:http://aws.amazon.com/pt/ec2/
2 Flickr: http://www.flickr.com/ 8 GoGrid: http://www.gogrid.com/
3 Picasa: http://picasa.google.com/ 9 http://www.ibm.com/cloud-computing/
4 SkyDrive: http://skydrive.live.com/ 10 Server Virtualization: is the technique of execution of one or more virtual
5 Google App Engine: http://code.google.com/appengine servers over one physical server [14]
6 Windows Azure: http://www.windowsazure.com/ 11 http://lapes.dc.ufscar.br/ferramentas/start-tool
TABLE I
S YTEMATIC R EVIEW P ROTOCOL

Objectives: To identify the main challenges and research opportunities in developing software for the cloud,
and how to adopt the main cloud services, from the software engineering perspective;
Main Question: What are the main challenges and research opportunities in developing software for the cloud, in
terms of methodologies, languages, frameworks, tools and other software engineering concerns and
what has already been done in these few years of cloud research, from the software engineering
perspective?
Intervention: Cases study, surveys, definitions and other types of research related to cloud software development;
Control: We found no study to use as control;
Population: Research related to cloud software development;
Results: Case studies, surveys, definitions and research work related to cloud software development;
Application: Cloud computing software development research;
Keywords: Cloud computing; software development; software engineering; research gaps;
Source selection criteria: Availability of the papers over the web; search engines using keywords;
Studies Languages: English and Portuguese;
Source Search The string was first defined in Scopus, then adapted to other engines like ACM and IEEE;
Methods: Automatic search; Search through bibliographic references of selected papers; Search by groups
and authors; Search over the related conferences and journals
Source Engines: Scopus; IEEE; ACM; Google Academic Search; Springer
Study inclusion criteria: The full paper was available; The study involved definitions about cloud computing; The study
contained experience reports about cloud computing software development;
Study exclusion criteria: The full paper was not available; The study was not directly related to cloud computing; The study
approached cloud computing without considering software development
Studies types definition: Papers and technical reports;
Initial studies selection: Based on abstract, keywords and title;
Studies quality evaluation: The quality of studies was evaluated in an ad hoc way, after the reading;
Information extraction fields: Study types; Search domain; main idea; short summary;
Results summarization: All the accepted papers were analyzed, and the data were summarized into a single textual report,
where the results were described;

to the recommendations of the review protocol. The entire of studies per author. The collection of the selected 100 papers
systematic review was documented, from its conception to the included more than 300 different authors, and no author pub-
extraction of results, to allow its repetition and auditing by lished more than two papers, what indicates that there is not
other researchers interested in the study. a clear formation of specialized research groups on software
The study was conducted in a period of eight months, engineering for cloud computing. One exception (although not
by a single researcher (one of the authors of this paper). from the software engineering area) is the aforementioned
Whenever there was doubt regarding the inclusion/exclusion technical report from University of California at Berkeley [9],
criteria, analysis or summarization, other researchers from the which was invited to be published as a paper [12], being
group were consulted. frequently cited in the cloud literature12 .
As mentioned before, the literature related to software engi-
IV. S OFTWARE E NGINEERING FOR THE C LOUD : A
neering for the cloud is recent. Figure 1 shows the distribution
R ESEARCH ROADMAP
of the selected papers by publication year. As it can be seen,
all papers included in this study were published after 2008. In this section we discuss the main findings of the review,
i.e. what are the main challenges and research opportunities
related to software engineering and cloud computing.
A. Data Lock-In
Data lock-in is the difficulty developers face when having
to port their applications from one cloud platform to another
[9]. Such problem can be seen mostly in the PaaS scenario: in
order to take advantage of a very flexible cloud architecture,
the applications have to be specifically developed for the
chosen platform. For example, in order to offer great elasticity,
Google App Engine – a PaaS provider – imposes a specific
programming style and has its own way to manage data, and
Fig. 1. Selected Publications by Year thus an application developed for it may not be easily ported to
12 By the time this paper was written, there were 302 citations, according
Another point of interest in the study is the low distribution to http://www.scopus.com/
a different PaaS provider, nor can its data. Even if a developer consensus about the set of models, languages, transfor-
wanted to host an application in his/her own private cloud later, mations and software processes that could be used to
great effort would be necessary to rebuild the code, redeploy successfully develop cloud applications using MDE [27].
it and migrate all the data. Current efforts revolve mostly around the identification of
It is not difficult to see why this problem is hindering the abstractions that would allow one to specify and create
adoption of the cloud model [20]. The possibility of becoming systems independently of the underlying platform, and
“locked in” a particular platform, not being able to choose a the automatic code generation for some specific platform
different one later (customer lock-in), puts the developers in a or service infrastructure [28], [29].
difficult position. They mostly fear being charged abusive fees
later, or having their applications unavailable due to lack of B. Decision-making about migration to the cloud model
service quality [9]. There are some initiatives towards solving In order to take advantage of the benefits of the cloud
this problem. They normally revolve around two approaches: model, many organizations have the desire and/or intention
to embrace the cloud for existent and new applications. This
• API standardization: if every cloud provider employs
decision is inherently complex, and suffers the influence
some well-known standards in its platform, in theory
from multiple factors such as cost, availability, performance,
an application could be easily ported from one provider
security and QoS, each of which have a major influence on
to another without too much effort. In this sense, the
every organization [30].
OpenCloud Manifesto [21] is gathering efforts to group
Before making the decision, an organization must take into
companies around the specification of an open standard
consideration the viability of the cloud model in its current
for cloud computing. However, until the time this paper
context. It must carefully analyze the constraints related to
was written, important companies such as Google and
cloud platforms, both technical [31] and organizational, and
Microsoft had not joined the manifesto13 . There are
consider its business requirements [32].
other initiatives, such as: (i) DMTF (Distributed Man-
The literature contains research providing support for the
agement Task Force), which employs efforts focused on
decision about migration to the cloud [33], [30], [32], [34],
standardizing interactions between cloud environments
[35]. Ezzat et al. [36] studied the cloud from different per-
by developing specifications that deliver architectural
spectives, in order to determine the aspects that mostly affect
semantics and implementation details to achieve inter-
the decision about cloud adoption. However, in this review
operable cloud management between service providers
we have not found a formal process to specifically support
and their consumers [22]; (ii) OCCI-WG (Open Cloud
this task.
Computing Interface Working Group), which is a protocol
If the decision about the migration is positive, the IaaS
and API for all kinds of management tasks, and was
model is the ideal choice to deploy pre-existent systems,
created to develop a remote management API for IaaS-
while PaaS is more adequate for new applications [37]. An
based services, allowing the development of interoperable
incremental strategy can be adopted, to effectively migrate
tools for common tasks including deployment, autonomic
data and applications to the cloud. For pre-existing systems,
scaling and monitoring. The current release of the Open
the migration itself is a whole new challenge, as explains next
Cloud Computing Interface is suitable to serve many
section.
other models in addition to IaaS, including e.g. PaaS and
SaaS [23]; (iii) IEEE P230114 , responsible for developing C. Legacy software migration
a standard that will enable portability. To achieve this
There are many systems still in use today that became
goal, it will group the different options (interfaces, tile
outdated, either because they make use of unsupported tech-
formats and operation conventions) of the cloud elements
nology or earlier versions of an operating system or platform.
into logical profiles; and (iv) IEEE P230215 , which will
However, the costs for their modernization and the fact that
define the topology, protocols, functionality and gover-
they may still provide essential services keep them active.
nance required to support cloud-to-cloud interoperability
These are commonly known as legacy systems. As expected,
and federated (intercloud) operations [24], [25].
most of these are not ready to be migrated into a cloud
• Model-driven approaches: the idea is to employ model-
environment, and this is true even for some more recent pre-
driven engineering (MDE) [26] in the development of
cloud web applications. One way of solving this problem is a
cloud applications. MDE seems to be a viable solution
complete reengineering (i.e. a reconstruction of the software
to the lock-in problem, because through higher level
for a new platform), but this process is normally too expen-
models and automatic transformations, the developers are
sive. An alternative would be an strategy to migrate legacy
able to focus on a more conceptual, platform-independent
software into a cloud infrastructure and to ensure its correct
level when developing applications. However, there is no
functioning in the new environment, without the need for a
13 The list with all members of the OpenCloud Manifesto can be found at
complete reengineering. There are many experience reports
http://www.opencloudmanifesto.org/supporters.htm
that focus on this problem [38], [39], [40], [41], [42], [43],
14 IEEE P2301: http://grouper.ieee.org/groups/2301/ [44], [45], [31], [46], but more research is still needed, mainly
15 IEEE P2302: http://grouper.ieee.org/groups/2302/ to formalize a strategy that defines a step-by-step process to
perform the migration, considering all available cloud services. MaaS has the potential to leverage the adoption of MDE
Such strategy would constitute a very important contribution among software developers, making use of the cloud to facil-
towards the systematic migration to the cloud model. itate some of the tasks involved in model-driven engineering
[50]. The implementation of the MaaS model can lead to
D. A reengineering process for the cloud different research opportunities, such as collaborative devel-
New technologies, standards, languages and frameworks opment issues [51], concurrent modification issues [52], man-
related to cloud computing may facilitate the development of agement of large model repositories, among others. Bruneliele,
applications, the evolution of current software and make com- Cabot and Jouault [27] highlight the following possibilities of
panies more competitive. In these cases, migration alone (as MaaS research:
discussed in previous section) is not enough, and companies • One possibility is the creation of a tool for collabora-
find themselves in a crossroads between reconstructing their tive and distributed modeling [53]. In this context, the
applications to make complete use of new cloud technologies cloud would serve as an instrument that would allow the
and becoming out of the market. specification and sharing of software models [54] among
The literature contains some successful examples of soft- distributed team members.
ware reengineering for the cloud. For example, Zhou et al. • Definition of modeling mash-ups as a combination of
[47] proposed a novel approach for reengineering enterprise MDE services from different vendors.
software for cloud computing. Following a five-step ontol- • Availability of model transformation engines in the cloud
ogy development process, the enterprise software ontology is to provide platform-independent model management ser-
created by generating an integrating code ontology, database vices.
ontology and Hibernate framework ontology. This approach • Code generation in the cloud: the transfer of code gener-
can help to identify potential service candidates in the legacy ation and simulation services for the cloud can facilitate
system. the deployment and evolution of software applications,
However, studies are still needed, to formalize a complete increasing productivity. Developers would not need to
reengineering process focusing on cloud infrastructures, con- worry about having to setup and maintain an infrastruc-
sidering the particularities and the different service models ture to develop model-based applications.
offered in this paradigm. • Distributed Global model management. Complex MDE
projects involve several models (possibly conforming
E. Mechanisms to facilitate the adoption of the hybrid model to different metamodels), model transformations, model
injectors and projectors, etc. MaaS would facilitate the
As discussed in Section II, the hybrid model is the al-
manipulation of all these modeling artifacts in a dis-
ternative found by some companies to avoid large upfront
tributed environment.
investments and still maintain some critical parts of its appli-
cations under more rigid control. However, the interoperability G. Billing and auditing mechanisms
between public and private cloud infrastructures is not easy to
Auditing, usage reports and billing are functionalities that
achieve [24]. The standardization can help to improve this
are normally associated to SaaS [55]. The provider of such
model, but as discussed in section IV-A, there is still no
systems must include administrative functions to support this
standard for the development of interoperable applications for
kind of tasks, which are not necessary in the traditional
cloud computing.
software model.
The literature has some efforts in this direction. One exam- In our review we found no study focusing specifically on
ple is the group IEEE P2302, which has been researching this these problems, and thus we believe there is space for research
question. Other examples can also be found in the literature and implementation on such types of mechanisms, to discover
[48], [49]. better ways to achieve the necessary billing and auditing
The existence of frameworks, tools and/or process to fa- functionalities, according to the reality of different companies.
cilitate the implementation of the hybrid model could be the Case studies are also a possibility to help in the identification
solution many companies are waiting for before definitively of the most important issues related to these tasks.
adopting cloud computing.
H. Cloud Service Composition
F. Implementation of Modeling as a Service - MaaS As in other fields of computer science, the dynamic nature
Bruneliele, Cabot and Jouault [27] proposed the concept of cloud-based technologies lead to constant changes in terms
of Modeling as a Service - MaaS. Similar to SaaS, MaaS of platforms, tools and technologies. In this scenario, it is not
would allow the deployment and execution of modeling and uncommon to see different applications or sets of services
other model-driven services, such as transformations and code having to cooperate for mutual benefit. Service composition,
generation, over the Internet. The idea is to provide a model- in the context of Service-Oriented Architecture, is still an
driven engineering (MDE) environment in the cloud, including important research subject in software engineering [56], [57].
a repository of models and model-driven engineering tools that In the cloud context, the terms “intercloud”, “multi-clouds”
could be used by development teams in the form of services. and “cloud-of-clouds” are used to refer to the composition
of cloud providers as an integrated (or federated) cloud envi- a more comprehensive model that can be improved and used
ronment [58]. In such environments, users can (transparently to support cloud adoption in its different possibilities.
or not) leverage the resources from different (either public or
private) cloud providers [25], [59], [60], [61], [62], [63]. These V. OTHER FINDINGS OF THE STUDY
terms are similar and suggest that cloud computing should not
The choice of a cloud service depends on the type of
be restricted to a single cloud [59], but a “cloud-of-clouds”.
application that will be used. Some options target developers,
In such environment, it would be possible to have applica-
some target end users and some target both. During the review,
tion components deployed and co-existing on multiple clouds.
we found some interesting information on studies describing
This raises challenges for the developer, who has to worry
the benefits of cloud computing, and success stories involving
about architectural and development issues that consider this
the paradigm. These are practical issues regarding the use
multi-cloud scenario. In particular, the composition of services
of cloud services and, more specifically, the development of
needs an effective communication between providers (interop-
software for the cloud paradigm. In the following sections, we
erability). Abstractions for efficient service orchestration and
try to compile this information, hoping it will be of practical
choreography [64] also need to be conceived or adapted for
value to researchers and practitioners interested in developing
the cloud.
software for this emerging field.
There are some efforts related to cloud service composition
in the literature [65], [66], [67], [68], [69]. However, the
A. SaaS vs SOA
related technologies are still under development and more
research is necessary. Standardization efforts, such as those Reviewing the literature, we noticed that there is some
described in Section IV-A, could offer a partial solution, but confusion between the terms SaaS and Service-Oriented Ar-
these are not yet established. chitecture (SOA). Laplante et al. [70] also pointed out such
confusion.
I. Case studies For example, Sharma et al. [71] do not distinguish between
Organizations are normally afraid to adopt new technologies the terms SOA and SaaS, proposing an approach focused
until relevant success cases are presented. In this sense, to on interoperability that uses MDE to generate web services
reinforce the benefits of the cloud, to show the importance of descriptors (WSDL). The authors then refer to the approach
this paradigm, and its potential to revolutionize the market, it as SaaS development, but in fact it is closer to the concept of
would be interesting to have a large number of case studies. SOA.
The literature already has many examples of such efforts. Laplante et al. [70] made a wide study of the characteristics
Chauhan & Babar [38] report their experience in the migration of these models and concluded that the fundamental difference
of service-oriented systems to the cloud computing model. is: SOA is a model for building software and a SaaS is a model
Khajeh-Hosseini et al. [44] show a case study of migrating for delivering it. While SOA is concerned with the creation
an enterprise application to IaaS. Tran et al. [40] show a of services to compose a more flexible architecture for an
taxonomy of critical factors in migration to cloud computing application, SaaS is concerned with the delivery of software
model. We should continue to publish such type of results, functionality in the form of services, which may be provided
and case studies and experience reports should always be on independently of the underlying architectural style.
the agenda of software engineering researchers. The more To better understand the difference between SaaS and SOA,
case studies available, the more confident researchers and we can cite Google Apps [72]. Google makes its applications
practitioners will become regarding the benefits of the cloud, (Google mail, Google calendar, Google sites, etc) available to
and the validity of the research. companies that do not wish to share their information, as hap-
J. Open source platforms pens with normal users. To use such services, companies make
a paid subscription and do not need to worry about the internal
This last issue may not be considered as an open research
architecture of the applications, nor with their deployment and
question by itself, but it presents a challenge for many re-
maintenance in a private infrastructure. They simply use the
searchers. The most important cloud computing platforms are
service and pay for what they use. In a comparison, we can
proprietary and, as a consequence, not open for investiga-
cite the Application Server Provider (ASP) model, where the
tion, modification and/or extension. This poses a problem for
customer must acquire a license, and install the software in
researchers that want to experiment with different platform
some particular infrastructure. Oracle’s JD Edwards ERP [73]
architectures and setups. In this sense, the existence of open
is an example of ASP.
source alternatives could be of great help to the software
As an example of SOA, we can cite systems that use service
engineering – and cloud computing in general – community.
composition to provide some final functionality. For example,
There are some open source options available (like Euca-
e-shopping web sites may use services from delivery com-
lyptus16 and Nimbus17 ), but these are mostly focused on the
panies to calculate shipping fees and conditions and present
IaaS model. We still need more research dedicated to produce
them to the user. Other services may help to compose the final
16 http://www.eucalyptus.com/ functionality. The distinguishing feature is that the internal
17 http://www.trynimbus.com/ architecture makes explicit use of services to achieve more
flexibility and allow more specialized modules to be built [74], However, some specific concerns arise, such as load bal-
[57]. ancing, automatic scalability, data storage services and other
As we can see, SaaS and SOA are distinct concepts. But functionality that may be used by applications and that must be
they are frequently used together, because these two models developed specifically for a particular provider. Open standards
complement each other. SaaS helps to provide the building and open source implementations, such as JClouds (an OCCI-
blocks for SOA, and SOA helps to implement SaaS more WG implementation) [82] can help to reduce some problems,
rapidly [70], and this may be the source of the confusion. by providing a common layer that can communicate with
different providers.
B. Developing SaaS Also, the developer must have in mind that, if a public IaaS
From the software engineering point of view, the imple- provider is being used, the software has to be delivered to the
mentation of the SaaS model requires some specific concerns. end user through the Internet. The SaaS model is normally
These arise from the service-oriented business model that is used, although it is possible to use this infrastructure to host
normally adopted. As a first concern, the system providers legacy systems [37], to deliver a system under the ASP model,
must implement some way to register the use of the services, or just to perform some kind of data processing [83].
in order to allow billing, auditing, usage and accounting
reports [55], in order to support the Cloud Computing business D. Developing Software for the PaaS model
model [75]. Additional administrative functions are required
The PaaS model tries to leverage the flexibility of the
to support these new kinds of tasks, which are not necessary in
cloud model, by providing a complete platform for software
the traditional stand-alone software model. More importantly,
development. A cloud platform hides many of the complex-
these extra tasks must not cause problems to the performance
ities of developing cloud software, and brings scalability
or correctness of the software [76].
and elasticity to a different level. In the PaaS model, the
Another concern is the existence of multiple customers
development platform is provided as a service. Applications
sharing the same infrastructure, each one with his/hers own
that are developed for this particular platform can benefit from
needs in terms of information, functionality and interface.
a specific programming model, that can be fully managed by
This is known as multi-tenant architecture [77], [78], and is a
the platform provider in a fine grained way [84].
concern that many SaaS developers have to worry about. Some
The target audience of PaaS are system developers. When
authors [79], [80], [81] have even proposed a SaaS maturity
developing for PaaS, a developer must adopt a platform and
model to categorize SaaS according to its support for multiple
its particular set of tools, libraries, technologies and standards
tenants.
[37]. These may require some initial training, which may lead
SaaS is normally accessed over the Internet [9]. In this
to an initial loss of productivity. However, they can later help
sense, developers also have to worry about availability, per-
to reduce development time by providing useful function-
formance, offline access to the software, and other concerns
ality, facilitating the development and distribution of cloud
that arise from this online nature of SaaS. These concerns add
applications [84], [85]. For example, Google App Engine
extra complexity in relation to traditional stand-alone software.
(an example of PaaS provider) has many functionalities for
C. Developing Software for the IaaS model image processing, image manipulation, user management and
authentication, data storage, location-based services, among
The IaaS model provides computational resources that lie
others [86]. As in the IaaS model, applications are hosted in
on the provider’s infrastructure. The target audience of this
the provider’s infrastructure, and are made available through
model are normally infrastructure architects. These architects
the Internet, following the SaaS or another model.
do not need to worry about issues such as dynamic demands,
The problem with this approach is the lock-in, already
elasticity and scalability, which are handled by the provider
discussed in Section IV-A, caused by the fixed set of tech-
[6].
nologies that must be adopted. But other than that, the benefits
Regarding the developer, the IaaS model adds little to
make PaaS a very interesting approach for cloud application
his/her list of concerns. In this model, the development team
development.
can create applications just as if it were developing for their
own dedicated private infrastructure. Differently from the PaaS
VI. R ELATED WORK
model (presented next) here the software usually does not have
any particular feature that demands special knowledge about The most influential related work in the area is the afore-
the provider’s infrastructure. In other words, any application mentioned technical report from Berkeley [9]. In this report,
can be deployed in an infrastructure that is provided as a Armbrust et al. present the results of a six-month brain-
service, as most IaaS providers have many options of virtual storming effort about the subject. The authors attempt to
machines, using the most common application servers and clarify related terms and provide simple formulas to quantify
other deployment technologies. This task also happens much comparisons between the cloud model and the traditional
like the traditional way of deployment, because normally the model. They also identify ten barriers for the success of cloud
developers have unlimited access to the virtual machines, just computing, and present ten opportunities to overcome them,
as if they were real, private machines. much like we attempted to do in this paper.
Other perspectives of the cloud computing model can be R EFERENCES
found in the literature: Narasimhan and Nichols [87] present
the point of view of cloud platform adopters; Wang et al. [7] [1] I. Foster, Y. Zhao, I. Raicu, and S. Lu, “Cloud Computing and Grid
present a perspective of the technologies that lie behind the Computing 360-Degree Compared,” in Grid Computing Environments
Workshop, 2008. GCE ’08, 2008, pp. 1–10.
cloud model. Many others explore related concepts [1], [88], [2] L. M. Vaquero, L. Rodero-Merino, J. Caceres, and M. Lindner, “A
[89], [90], [91], [4], [92], [6], [40], [93]. break in the clouds,” ACM SIGCOMM Computer Communication
Differently from other works, we attempted to present a Review, vol. 39, no. 1, p. 50, 2008. [Online]. Available: http:
//dl.acm.org/citation.cfm?id=1496091.1496100
software engineering perspective on cloud computing. Like [3] S. Zhang, X. Chen, S. Zhang, and X. Huo, “The comparison between
Armbrust et al., we identified some challenges and research cloud computing and grid computing,” in Computer Application and
opportunities, but focusing specifically on software engineer- System Modeling (ICCASM), 2010 International Conference on, vol. 11,
2010, pp. V11–72 –V11–75.
ing. [4] L. Youseff, M. Butrico, and D. Da Silva, “Toward a Unified Ontology of
We also attempted to clarify some concepts and present Cloud Computing,” in Grid Computing Environments Workshop, 2008.
some practical issues related to the development of software GCE ’08, 2008, pp. 1–10.
[5] L. Mei, W. K. Chan, and T. H. Tse, “A Tale of Clouds: Paradigm
for the cloud. A better understanding of cloud computing will Comparisons and Some Thoughts on Research Issues,” in Asia-Pacific
allow the community to design more efficient mechanisms Services Computing Conference, 2008. APSCC ’08. IEEE, 2008, pp.
which, as a consequence, will facilitate the adoption of this 464–469.
model [4]. [6] B. P. Rimal, E. Choi, and I. Lumb, “A Taxonomy and Survey of Cloud
Computing Systems,” in INC, IMS and IDC, 2009. NCM ’09. Fifth
As discussed earlier, the cloud concept is more connected International Joint Conference on, 2009, pp. 44–51.
to the market. Only recently it has been investigated by the [7] L. Wang, G. von Laszewski, A. Younge, X. He, M. Kunze, J. Tao,
scientific community. There are relatively few publications, and C. Fu, “Cloud Computing: a Perspective Study,” New Generation
Computing, vol. 28, no. 2, pp. 137–146, 2010. [Online]. Available:
although the number of papers related to this subject is http://dx.doi.org/10.1007/s00354-008-0081-5
increasing. Many of these attempt to propose definitions for [8] Y. Chen, X. Li, and F. Chen, “Overview and analysis of cloud computing
cloud computing [4], [2], [6]. However, there is still no research and application,” in E -Business and E -Government (ICEE),
2011 International Conference on, 2011, pp. 1–4.
widely accepted definition. In this paper, we used the one we [9] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski,
considered more complete [2]. G. Lee, D. Patterson, A. Rabkin, I. Stoica, and M. Zaharia,
“Above the clouds: A Berkeley view of cloud computing,” Dept.
Electrical Eng. and Comput. Sciences, University of California,
VII. C ONCLUDING REMARKS Berkeley, Rep. UCB/EECS, vol. 28, 2009. [Online]. Available:
http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf
The way cloud services are commercialized can cause deep [10] G. Candea, S. Bucur, and C. Zamfir, “Automated software testing as a
changes in the software industry, as long as software engineers service,” in Proceedings of the 1st ACM symposium on Cloud computing,
ser. SoCC ’10. New York, NY, USA: ACM, 2010, pp. 155–160.
are able to unleash its full potential. This emerging computing [Online]. Available: http://doi.acm.org/10.1145/1807128.1807153
model still needs to be studied, and efforts are needed to solve [11] W. K. Chan, L. Mei, and Z. Zhang, “Modeling and testing of cloud
the current problems and overcome the challenges before the applications,” in Services Computing Conference, 2009. APSCC 2009.
IEEE Asia-Pacific, 2009, pp. 111–118.
cloud model becomes more well established.
[12] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. Katz, A. Konwinski,
Although cloud-related terms have originated from the G. Lee, D. Patterson, A. Rabkin, I. Stoica, and M. Zaharia, “A view
industry, the academy has many opportunities to contribute. of cloud computing,” Commun. ACM, vol. 53, no. 4, pp. 50–58, 2010.
[Online]. Available: http://doi.acm.org/10.1145/1721654.1721672
In this paper we attempted to highlight possible directions in
[13] P. Mell and T. Grance, “The NIST Definition of Cloud Computing
which the software engineering area can approach the cloud ,” 2009. [Online]. Available: http://www.nist.gov/itl/cloud/upload/
computing scenario. We wanted to share our observations cloud-def-v15.pdf/
because, after a considerable review work, we believe to have [14] J. Daniels, “Server virtualization architecture and implementation,”
Crossroads, vol. 16, no. 1, pp. 8–12, 2009. [Online]. Available:
reached a point where we should compile the information. We http://doi.acm.org/10.1145/1618588.1618592
tried to point out other studies that do a similar job, and to [15] K. University, “Guidelines for performing Systematic Literature Reviews
compile some interesting points that were not available in a in Software Engineering,” 2007.
single study yet, at least not for the software engineering area. [16] B. Kitchenham, O. P. Brereton, D. Budgen, M. Turner, J. Bailey, and
S. Linkman, “Systematic literature reviews in software engineering –
In no way we believe the results of our observations are the A systematic literature review,” Information and Software Technology,
only and definitive list. The community is welcome to continue vol. 51, no. 1, pp. 7–15, 2009. [Online]. Available: http://www.
sciencedirect.com/science/article/pii/S0950584908001390
the discussion and to increase this list as further research takes
[17] J. Biolchini, P. G. Mian, A. C. C. Natali, and G. H. Travassos, “System-
place. atic Review in Software Engineering,” 2005. [Online]. Available: http:
//www.cin.ufpe.br/~in1037/leitura/systematicReviewSE-COPPE.pdf
[18] S. N. Mafra and G. H. Travassos, “Técnicas de Leitura de
ACKNOWLEDGMENTS . Software: Uma Revisão Sistemática,” XIX Simpósio Brasileiro de
Engenharia de Software (SBES 2005), 2005. [Online]. Available: http:
The authors would like to thank CAPES and FAPESP //tcc-tonismar.googlecode.com/svn/trunk/TCC/Bibliografia/05-9612.pdf
(process number 2012/04549-4) for funding this research. We [19] A. D. T. S. F. Elis Hernandes Augusto Zamboni, “Avaliacao
would also like to thank the reviewers for their valuable da ferramenta StArt utilizando o modelo TAM e o paradigma
GQM,” Experimental Software Engineering Latin American Workshop,
and insightful suggestions, in particular for pointing out the ESELAW’2010, pp. 30–39, 2010. [Online]. Available: http://www.inf.
challenge we describe in Section IV-B. ufg.br/~eselaw2010/proceedings-eselaw2010.pdf\#page=37
[20] A. Ranabahu and A. Sheth, “Semantics Centric Solutions for Applica- Migration to Cloud,” in Cloud Computing (CLOUD), 2011 IEEE Inter-
tion and Data Portability in Cloud Computing,” in Cloud Computing national Conference on, 2011, pp. 750–751.
Technology and Science (CloudCom), 2010 IEEE Second International [40] V. Tran, J. Keung, A. Liu, and A. Fekete, “Application migration
Conference on, 2010, pp. 234–241. to cloud: a taxonomy of critical factors,” in Proceedings of the 2nd
[21] (2012) OpenCloud Manifesto. [Online]. Available: http://www. International Workshop on Software Engineering for Cloud Computing,
opencloudmanifesto.org/ ser. SECLOUD ’11. New York, NY, USA: ACM, 2011, pp. 22–28.
[22] (2012) Distribuited Managemente Task Force. [Online]. Available: [Online]. Available: http://doi.acm.org/10.1145/1985500.1985505
http://www.dmtf.org/standards/cloud [41] I. J. A. J. G. R. H. Arrieta L.O.-E., “From software-AS-A-GOOD TO
[23] (2012) Open Cloud Computing Interface. [Online]. Available: http: SAAS: Challenges and needs: Developing a tool supported methodology
//occi-wg.org/ for the migration of non-saas applications to SaaS,” in ICSOFT 2011
[24] N. Loutas, E. Kamateri, F. Bosi, and K. Tarabanis, “Cloud Computing - Proceedings of the 6th International Conference on Software and
Interoperability: The State of Play,” in Cloud Computing Technology Database Technologies, vol. 2, 2011, pp. 257–260.
and Science (CloudCom), 2011 IEEE Third International Conference [42] P. Mohagheghi, A. Berre, A. Henry, F. Barbier, and A. Sadovykh,
on, 2011, pp. 752–757. “REMICS-REuse and Migration of Legacy Applications to Interoperable
[25] M. Vukolić, “The byzantine empire in the intercloud,” SIGACT Cloud Services,” Towards a Service-Based Internet, pp. 195–196, 2010.
News, vol. 41, no. 3, pp. 105–111, Sep. 2010. [Online]. Available: [43] S. Venugopal, S. Desikan, and K. Ganesan, “Effective Migration of
http://doi.acm.org/10.1145/1855118.1855137 Enterprise Applications in Multicore Cloud,” in Utility and Cloud
[26] R. France and B. Rumpe, “Model-driven Development of Complex Computing (UCC), 2011 Fourth IEEE International Conference on,
Software: A Research Roadmap,” in 2007 Future of Software 2011, pp. 463–468.
Engineering, ser. FOSE ’07. Washington, DC, USA: IEEE Computer [44] A. Khajeh-Hosseini, D. Greenwood, and I. Sommerville, “Cloud Migra-
Society, 2007, pp. 37–54. [Online]. Available: http://dx.doi.org/10.1109/ tion: A Case Study of Migrating an Enterprise IT System to IaaS,” in
FOSE.2007.14 Cloud Computing (CLOUD), 2010 IEEE 3rd International Conference
[27] H. Brunelière, J. Cabot, and F. Jouault, “Combining Model- on, 2010, pp. 450–457.
Driven Engineering and Cloud Computing,” 2010. [On- [45] P. Mohagheghi and T. Sæ andther, “Software Engineering Challenges
line]. Available: http://hal.archives-ouvertes.fr/docs/00/53/91/68/PDF/ for Migration to the Service Cloud Paradigm: Ongoing Work in the
CombiningMDE-CloudComputing\_2010.pdf REMICS Project,” in Services (SERVICES), 2011 IEEE World Congress
[28] R. Sharma and M. Sood, “A Model Driven Approach to Cloud SaaS In- on, 2011, pp. 507–514.
teroperability,” International Journal of Computer Applications, vol. 30, [46] S. Frey, W. Hasselbring, and B. Schnoor, “Automatic conformance
no. 8, pp. 1–8, 2011. checking for migrating software systems to cloud infrastructures
[29] X. Jiang, Y. Zhang, and S. Liu, “A Well-designed SaaS Application and platforms,” Journal of Software Maintenance and Evolution:
Platform Based on Model-driven Approach,” in Grid and Cooperative Research and Practice, pp. n/a—-n/a, 2012. [Online]. Available:
Computing (GCC), 2010 9th International Conference on, 2010, pp. http://dx.doi.org/10.1002/smr.582
276–281. [47] H. Zhou, H. Yang, and A. Hugill, “An Ontology-Based Approach
[30] P. Saripalli and G. Pingali, “MADMAC: Multiple Attribute to Reengineering Enterprise Software for Cloud Computing,” in
Decision Methodology for Adoption of Clouds,” in 2011 2010 IEEE 34th Annual Computer Software and Applications
IEEE 4th International Conference on Cloud Computing. Conference. IEEE, Jul. 2010, pp. 383–388. [Online]. Available: http:
IEEE, Jul. 2011, pp. 316–323. [Online]. Available: http: //ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5676282
//ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=6008725 [48] P. Makris, D. N. Skoutas, P. Rizomiliotis, and C. Skianis, “A User-
[31] S. Frey and W. Hasselbring, “An Extensible Architecture for Detecting Oriented, Customizable Infrastructure Sharing Approach for Hybrid
Violations of a Cloud Environment’s Constraints during Legacy Soft- Cloud Computing Environments,” in Cloud Computing Technology and
ware System Migration,” in Software Maintenance and Reengineering Science (CloudCom), 2011 IEEE Third International Conference on,
(CSMR), 2011 15th European Conference on, Mar. 2011, pp. 269–278. 2011, pp. 432–439.
[32] A. Khajeh-Hosseini, I. Sommerville, J. Bogaerts, and P. Teregowda, [49] S. Yan, B. S. Lee, G. Zhao, D. Ma, and P. Mohamed, “Infrastructure
“Decision Support Tools for Cloud Migration in the Enterprise,” in management of hybrid cloud for enterprise users,” in Systems and Virtu-
Cloud Computing (CLOUD), 2011 IEEE International Conference on, alization Management (SVM), 2011 5th International DMTF Academic
Jul. 2011, pp. 541–548. Alliance Workshop on, 2011, pp. 1–6.
[33] S. Zardari and R. Bahsoon, “Cloud adoption: a goal-oriented [50] C. Atkinson, T. Schulze, and S. Klingert, “Modelling as a Service
requirements engineering approach,” in Proceedings of the 2nd (MaaS): Minimizing the Environmental Impact of Computing Services,”
International Workshop on Software Engineering for Cloud Computing, in Services (SERVICES), 2011 IEEE World Congress on, 2011, pp. 519–
ser. SECLOUD ’11. New York, NY, USA: ACM, 2011, pp. 29–35. 523.
[Online]. Available: http://doi.acm.org/10.1145/1985500.1985506 [51] J. DeFranco-Tommarello and F. P. Deek, “Collaborative software de-
[34] A. Khajeh-Hosseini, D. Greenwood, J. W. Smith, and I. Sommerville, velopment: a discussion of problem solving models and groupware
“The Cloud Adoption Toolkit: supporting cloud adoption decisions in technologies,” in System Sciences, 2002. HICSS. Proceedings of the 35th
the enterprise,” Software: Practice and Experience, vol. 42, no. 4, pp. Annual Hawaii International Conference on, 2002, pp. 568–577.
447–465, 2012. [Online]. Available: http://dx.doi.org/10.1002/spe.1072 [52] C.-L. Ignat, “Annotation of concurrent changes in collaborative software
[35] C.-Y. Yam, A. Baldwin, S. Shiu, and C. Ioannidis, “Migration to development,” in Intelligent Computer Communication and Processing,
Cloud as Real Option: Investment Decision under Uncertainty,” in Trust, 2008. ICCP 2008. 4th International Conference on, 2008, pp. 137–144.
Security and Privacy in Computing and Communications (TrustCom), [53] M. Farwick, B. Agreiter, J. White, S. Forster, N. Lanzanasto, and
2011 IEEE 10th International Conference on, 2011, pp. 940–949. R. Breu, “A Web-Based Collaborative Metamodeling Environment with
[36] E. M. Ezzat, D. S. E. Zanfaly, and M. M. Kota, “Fly over clouds or drive Secure Remote Model Access,” in Web Engineering, ser. Lecture Notes
through the crowd: A cloud adoption framework,” in Current Trends in Computer Science, B. Benatallah, F. Casati, G. Kappel, and G. Rossi,
in Information Technology (CTIT), 2011 International Conference and Eds. Springer Berlin / Heidelberg, 2010, vol. 6189, pp. 278–291.
Workshop on, 2011, pp. 6–11. [Online]. Available: http://dx.doi.org/10.1007/978-3-642-13911-6\_19
[37] M.-E. F. D. Esparza-Peidro J., “Towards the next generation of model [54] F. Pérez Andrés, J. Lara, and E. Guerra, “Applications of Graph
driven cloud platforms,” in CLOSER 2011 - Proceedings of the 1st Transformations with Industrial Relevance,” A. Schürr, M. Nagl, and
International Conference on Cloud Computing and Services Science, A. Zündorf, Eds. Berlin, Heidelberg: Springer-Verlag, 2008, ch.
2011, pp. 494–500. Domain Spe, pp. 82–97. [Online]. Available: http://dx.doi.org/10.1007/
[38] M. A. Chauhan and M. A. Babar, “Migrating Service-Oriented System 978-3-540-89020-1\_7
to Cloud Computing: An Experience Report,” in 2011 IEEE 4th [55] L. Liu, M. Song, X. Luo, H. Bai, S. Wang, and J. Song, “An implemen-
International Conference on Cloud Computing. IEEE, Jul. 2011, pp. tation of the online-payment platform based on SaaS,” in Web Society
404–411. [Online]. Available: http://ieeexplore.ieee.org/lpdocs/epic03/ (SWS), 2010 IEEE 2nd Symposium on, 2010, pp. 658–662.
wrapper.htm?arnumber=6008736 [56] E. G. da Silva, L. F. Pires, and M. van Sinderen, “Towards runtime
[39] X. Meng, J. Shi, X. Liu, H. Liu, and L. Wang, “Legacy Application discovery, selection and composition of semantic services,” Computer
Communications, vol. 34, no. 2, pp. 159–168, 2011. [Online]. Available: Computing. IEEE, 2010, pp. 509–512. [Online]. Available: http:
http://www.sciencedirect.com/science/article/pii/S0140366410001714 //ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5493445
[57] T. P. D. S. L. F. Papazoglou M.P., “Service-oriented computing: A [76] A. D. H. Farrell, M. J. Sergot, M. Salle, C. Bartolini, D. Trastour, and
research roadmap,” International Journal of Cooperative Information A. Christodoulou, “Performance monitoring of service-level agreements
Systems, vol. 17, no. 2, pp. 223–255, 2008. [Online]. Available: for utility computing using the event calculus,” in Electronic Contract-
http://www.worldscinet.com/ijcis/17/1702/S0218843008001816.html ing, 2004. Proceedings. First IEEE International Workshop on, 2004,
[58] B. N. R. I. D. J. L. Y. D. A. F. L. M. S. S. P. M. Villegas D., “Cloud pp. 17–24.
federation in a layered service model,” Journal of Computer and System [77] R. A. Sengupta B., “Engineering multi-tenant Software-as-a-Service
Sciences, vol. 78, no. 5, pp. 1330–1344, 2012. systems,” in Proceedings - International Conference on Software En-
[59] M. A. AlZain, E. Pardede, B. Soh, and J. A. Thom, “Cloud gineering, 2011, pp. 15–21.
Computing Security: From Single to Multi-clouds,” in 2012 45th [78] Z. J. L. J. Zhu Y., “Solution for transforming web application to multi-
Hawaii International Conference on System Sciences. IEEE, Jan. tenant SaaS application,” Lecture Notes in Electrical Engineering, vol.
2012, pp. 5490–5499. [Online]. Available: http://ieeexplore.ieee.org/ 141 LNEE, no. VOL. 1, pp. 181–188, 2012.
lpdocs/epic03/wrapper.htm?arnumber=6149560 [79] F. Chong and G. Carraro, “Architecture strategies for catching the long
[60] T. Liu, Y. Katsuno, K. Sun, Y. Li, T. Kushida, Y. Chen, and tail,” MSDN Library, Microsoft Corporation, pp. 9–10, 2006.
M. Itakura, “Multi Cloud Management for unified cloud services [80] A. V. Hudli, B. Shivaradhya, and R. V. Hudli, “Level-4 SaaS
across cloud sites,” in 2011 IEEE International Conference on applications for healthcare industry,” in Proceedings of the 2nd
Cloud Computing and Intelligence Systems. IEEE, Sep. 2011, pp. Bangalore Annual Compute Conference, ser. COMPUTE ’09. New
164–169. [Online]. Available: http://ieeexplore.ieee.org/lpdocs/epic03/ York, NY, USA: ACM, 2009, pp. 19:1—-19:4. [Online]. Available:
wrapper.htm?arnumber=6045053 http://doi.acm.org/10.1145/1517303.1517324
[61] P. Jain, D. Rane, and S. Patidar, “A Novel Cloud Bursting Brokerage [81] T. Kwok, T. Nguyen, and L. Lam, “A Software as a Service with Multi-
and Aggregation (CBBA) Algorithm for Multi Cloud Environment,” tenancy Support for an Electronic Contract Management Application,”
in Advanced Computing Communication Technologies (ACCT), 2012 in Services Computing, 2008. SCC ’08. IEEE International Conference
Second International Conference on, 2012, pp. 383–387. on, vol. 2, 2008, pp. 179–186.
[62] J. L. Lucas Simarro, R. Moreno-Vozmediano, R. S. Montero, and I. M. [82] (2012) Jclouds. [Online]. Available: http://www.jclouds.org/l
Llorente, “Dynamic placement of virtual machines for cost optimization [83] D. Warneke and O. Kao, “Exploiting Dynamic Resource Allocation for
in multi-cloud environments,” in High Performance Computing and Efficient Parallel Data Processing in the Cloud,” Parallel and Distributed
Simulation (HPCS), 2011 International Conference on, Jul. 2011, pp. Systems, IEEE Transactions on, vol. 22, no. 6, pp. 985–997, 2011.
1–7. [84] C. Lv, Q. Li, Z. Lei, J. Peng, W. Zhang, and T. Wang, “PaaS: A
revolution for information technology platforms,” in Educational and
[63] R. Moreno-Vozmediano, R. S. Montero, and I. M. Llorente, “Multicloud
Network Technology (ICENT), 2010 International Conference on, 2010,
Deployment of Computing Clusters for Loosely Coupled MTC Applica-
pp. 346–349.
tions,” Parallel and Distributed Systems, IEEE Transactions on, vol. 22,
[85] Z. Shu-Qing and X. Jie-Bin, “The Improvement of PaaS Platform,” in
no. 6, pp. 924–930, Jun. 2011.
Networking and Distributed Computing (ICNDC), 2010 First Interna-
[64] C. Peltz, “Web services orchestration and choreography,” Computer, tional Conference on, 2010, pp. 156–159.
vol. 36, no. 10, pp. 46–52, 2003. [86] (2012) Google App Engine. [Online]. Available: https://appengine.
[65] A. Al Falasi and M. Adel Serhani, “A Framework for SLA-based google.com/
cloud services verification and composition,” in 2011 International [87] B. Narasimhan and R. Nichols, “State of Cloud Applications and
Conference on Innovations in Information Technology. IEEE, Apr. Platforms: The Cloud Adopters’ View,” Computer, vol. 44, no. 3, pp.
2011, pp. 287–292. [Online]. Available: http://ieeexplore.ieee.org/ 24–28, Mar. 2011. [Online]. Available: http://ieeexplore.ieee.org/lpdocs/
lpdocs/epic03/wrapper.htm?arnumber=5893834 epic03/wrapper.htm?arnumber=5719574
[66] P. de Leusse, P. Periorellis, P. Watson, and A. Maierhofer, “Secure [88] T. Grandison, E. M. Maximilien, S. Thorpe, and A. Alba, “Towards a
#x00026; Rapid Composition of Infrastructure Services in the Cloud,” Formal Definition of a Computing Cloud,” in Services (SERVICES-1),
in Sensor Technologies and Applications, 2008. SENSORCOMM ’08. 2010 6th World Congress on, 2010, pp. 191–192.
Second International Conference on, 2008, pp. 770–775. [89] R. Guha and D. Al-Dabass, “Impact of Web 2.0 and Cloud Computing
[67] J. O. Gutierrez-Garcia and K.-M. Sim, “Self-Organizing Agents for Platform on Software Engineering,” in Electronic System Design (ISED),
Service Composition in Cloud Computing,” in Cloud Computing Tech- 2010 International Symposium on, 2010, pp. 213–218.
nology and Science (CloudCom), 2010 IEEE Second International [90] W. Kim, “Cloud architecture: A preliminary look,” in ACM International
Conference on, 2010, pp. 59–66. Conference Proceeding Series, 2011, pp. 2–6. [Online]. Available:
[68] W.-T. Tsai, P. Zhong, J. Balasooriya, Y. Chen, X. Bai, and J. Elston, “An http://www.scopus.com/inward/record.url?eid=2-s2.0-84856938421\
Approach for Service Composition and Testing for Cloud Computing,” &partnerID=40\&md5=8369a4ca41fa721d61f8e2278acca5ce
in Autonomous Decentralized Systems (ISADS), 2011 10th International [91] L. Mei, Z. Zhang, and W. K. Chan, “More Tales of Clouds: Software
Symposium on, 2011, pp. 631–636. Engineering Research Issues from the Cloud Application Perspective,”
[69] L. Zhang, H. Guo, F. Tao, Y. L. Luo, and N. Si, “Flexible management in Computer Software and Applications Conference, 2009. COMPSAC
of resource service composition in cloud manufacturing,” in Industrial ’09. 33rd Annual IEEE International, vol. 1, 2009, pp. 525–530.
Engineering and Engineering Management (IEEM), 2010 IEEE Inter- [92] C. E. Rimal B.P., “A service-oriented taxonomical spectrum, cloudy
national Conference on, 2010, pp. 2278–2282. challenges and opportunities of cloud computing,” International Journal
[70] P. A. Laplante, J. Zhang, and J. Voas, “What’s in a Name? of Communication Systems, vol. 25, no. 6, pp. 796–819, 2012.
Distinguishing between SaaS and SOA,” IT Professional, vol. 10, no. 3, [93] L.-J. Zhang and Q. Zhou, “CCOA: Cloud Computing Open Architec-
pp. 46–50, May 2008. [Online]. Available: http://ieeexplore.ieee.org/ ture,” in Web Services, 2009. ICWS 2009. IEEE International Conference
lpdocs/epic03/wrapper.htm?arnumber=4525542 on, 2009, pp. 607–616.
[71] S. M. S. D. Sharma R., “Modeling cloud SaaS with SOA and MDA,”
Communications in Computer and Information Science, vol. 190 CCIS,
no. PART 1, pp. 511–518, 2011.
[72] (2012) Google Apps. [Online]. Available: http://www.google.com/apps/
intl/en/business/index.html
[73] (2012) Oracle’s JD Edwards. [Online]. Available: http://www.oracle.
com/us/products/applications/jd-edwards-enterpriseone/index.html
[74] M. P. Papazoglou, P. Traverso, S. Dustdar, and F. Leymann, “Service-
Oriented Computing: State of the Art and Research Challenges,” Com-
puter, vol. 40, no. 11, pp. 38–45, 2007.
[75] V. Chang, D. Bacigalupo, G. Wills, and D. De Roure, “A
Categorisation of Cloud Computing Business Models,” in 2010 10th
IEEE/ACM International Conference on Cluster, Cloud and Grid

View publication stats

You might also like