suitable (or not) for their own requirements. Other
more user friendly approaches are also available, such
as (Khajeh-Hosseini et al., 2011) – which make use
of a spreadsheet for assessing suitability of a particu-
lar provider and possible configuration options. Such
an approach relies on a dialogue between the various
individuals within a company responsible for decid-
ing what and when to migrate to the Cloud, involving
managers, system administrators, etc. The assessment
outcome is however made manually based on the out-
come of the people-based interaction.
We consider an alternative approach in this work,
based on the observation that management of large
configuration spaces is a common task in the domain
of the Software Product Lines (SPLs). SPLs are fam-
ilies of related software products (or configurations),
which share a set of common assets. Variability mod-
els, and specifically Feature Models (FMs), are an
extended way to represent commonalities and differ-
ences of SPLs in terms of functional features. They
can also include additional information, represented
as a set of attributes, and identified as being an Ex-
tended Feature Model (EFM). In addition to repre-
senting variabilities, FMs also contain valuable infor-
mation about the configuration space they depict, e.g.,
the set of configurations they represent or the optimal
configuration given certain criteria. This information
extraction has been defined and organized by means
of a catalog of analysis operations through an Auto-
mated Analysis of Feature Models (AAFM).
We propose applying Software Product Line-
based techniques to the IaaS configuration process,
in order to overcome some of the challenges asso-
ciated with determining whether a particular Cloud
provider is able to meet a customer requirement. We
model several services of AWS as an FM, focusing
on this particular provider due to the widest range
of possible configuration options that are available
in AWS, and due to the largest user community (of
any other Cloud provider) using these services. We
have also identified analysis operations of the AAFM
to automate the search of suitable AWS configura-
tions. Although works like (Dougherty et al., 2012) or
(Schroeter et al., 2012) propose to model Cloud sce-
narios as FMs, this is the first work to use AAFM to
support a user-driven IaaS configuration process. A
prototype, the associated analysis operations, a case
study and the outcome of analysis are presented in
this paper.
Approaching the IaaS configuration process from
a SPL perspective has several benefits. The use of
EFMs provides us with a compact and easy to man-
age representation of the whole configuration space.
It also allows the user to choose by means of abstract
features and non-functional attributes, instead of se-
lecting specific AWS features. For instance, a user
would only need to specify a Linux-based operating
system and does not need to identify a particular type
(i.e. if this is the only requirement he has). Currently,
the user would need to identify a particular type, such
as Suse or RedHat, for instance. Moreover, the anal-
ysis operations of AAFM gives us support to validate
user choices and to determine suitable configuration
options. Alternatives to FMs also exist, such as the
use of spreadsheets (Khajeh-Hosseini et al., 2012), a
relational database or the development of a model in
the Unified Modelling Language (UML). Both SQL
queries and spreadsheets enable the representation of
costs depending on the required features. They are
a similar approach to the Amazon calculator (ama, ).
Given a configuration, we could identify the associ-
ated cost and other related information. However, the
opposite (and more useful) process is not possible,
i.e. given constraints about functional features and
non-functional properties (based on the requirements
of a user), obtaining suitable configurations given the
feature set and configuration options available. UML
could be an alternative to model the AWS scenario,
using class diagrams. However, UML is not oriented
to variability modelling and information extraction,
and also lacks analysis operations such as those pro-
vided in AAFM.
The rest of the paper is structured as follows: Sec-
tion 2 briefly describes the various Cloud services that
Amazon provides, while in Section 3 we present these
services modelled as a FM. Section 4 describes the
process we propose to extract information from the
AWS model. A study case is presented in Section 5 to
demonstrate how our proposed approach can be used
in practice. Related work is described in Section 6,
and Section 7 concludes the paper with a discussion
of lessons learned and possible future work.
1.1 SPL Background
SPLs (Clements and Northrop, 2002) are a software
engineering and development paradigm focused on
re-utilization and cost optimisation of software prod-
ucts. In essence, a SPL is a family of related soft-
ware products which share a set of common assets
(capabilities), but each of which can also include a
number of variations. It may be viewed as a way to
achieve mass customization, the next step after mass
production in software industry. SPLs have been ap-
plied to multiple industrial experiences and research
(Rabiser et al., 2010), including Cloud environments
(Dougherty et al., 2012). Assets, also named fea-
tures, of a SPL are represented using variability mod-
MigratingtotheCloud-ASoftwareProductLinebasedAnalysis
417