to be able to choose between different cloud vendors
offering similar services, on alternative
environments (physical, virtual, or cloud), there is a
need to understand the characteristics’ importance,
as architects perceive them.
This article seeks to capture the importance of
architecture quality characteristics deployed on
different cloud environments relative to regular
static ones, from the perspective of both software
architects and end-users.
The rest of the paper is organized as follows:
Section 2 describes our research method and Section
3 presents the results obtained. We discuss the
results and conclude in Section 4.
2 RESEARCH METHOD
In order to investigate architects’ perceptions and
attitudes toward different types of computing
services, via either public cloud, virtual private
cloud, or physical deployment, we conducted an
exploratory study with experienced practitioners
(software architects) at a large international IT firm.
By identifying and understanding the software
architects’ perspective, we aimed to identify best
practices for evaluating software architecture
solutions with and without the cloud, and illuminate
future research directions.
2.1 Settings
A total of 34 practitioners participated in the study,
including 24 R&D architects, 4 field architects and
6 senior software developers, with an average
experience of 7 years, all from the same large,
international IT firm. Following a short pilot study,
which included several observations of architecture
meetings and follow-up interviews, we prepared a
questionnaire for our survey. The survey was first
evaluated and validated by two experts from the
investigated firm and refined accordingly prior its
distribution. The survey focused on the importance
of each characteristic in non-cloud environments
and in two types of cloud computing: private and
public.
2.2 Data Gathering and Analysis
The questionnaires were electronically distributed
and received via email. The data were statistically
analyzed for each question using the SPSS software
(Statistical Package for the Social Sciences; see
http://www-01.ibm.com/software/analytics/spss/).
We created Paired Samples Correlations and Paired
Samples Tests (Paired t-tests; see http://
www.ats.ucla.edu/stat/mult_pkg/whatstat/choosestat
.html).
Missing values were treated as missing.
Statistics for each analysis were based on the cases
with no missing or out-of range data for any
variable in the analysis.
The results were considered significant at the
0.05 level, under the assumptions that the paired
differences are dependent and identically normally
distributed (or have a number of practitioners which
is higher than 30).
3 RESULTS
3.1 Non-functional Requirements
Rather than focusing on the commonly handled non-
functional requirements (NFR) of Data Recovery,
Resource Redundancy and Scalability, we aimed at
identifying the next NFR software that architects
believe should be handled by the cloud. According
to the survey, 52.9% of the architects believe that
the next NFR to become the cloud vendors’
responsibility should be Security. Moreover, many
of the architects who did not rate security as the first
NFR to move to the cloud rated it as the second or
third. In order to calculate and scale all
characteristics mentioned in all ratings, first, second
and third, we made a calculated average as follows.
The characteristics mentioned as the first NFR got
three points; the characteristics mentioned as the
second NFR got two points; and the characteristics
mentioned as the third NFR got one point.
According to this calculation, the highest rated NFR
was Security, with 67 points, followed by (with a
big difference) Performance with 12 points, and
Availability with 10 points.
3.2 The Different Layers in the
Different Environments
A proposed or existing software system is usually
evaluated using long lists of requirements,
expressed as attributes, and measures for indicating
how well they are satisfied by the system. The
system must exhibit several system-wide properties,
commonly referred to as “the ities”, such as
reliability, maintainability, usability, and portability.
Our first goal here was to find whether the
perceived relative importance of each characteristic
in each part of the system (Application / Platform /
CLOSER2012-2ndInternationalConferenceonCloudComputingandServicesScience
276