optimization problems from a cloud providers'
perspective) that they consider the fulfillment of user
expectations as the sole optimization goal.
From the perspective of the cloud consumer or
potentially the cloud broker, Han et al. (Han, et al.
2009) proposed a service recommender framework
using network QoS and Virtual Machine (VM)
platform factors for assisting user's decisions when it
comes to the selection of cloud provider. However,
in their work they do not consider user preferences
and they limit their evaluation criteria only to IaaS
specific factors. Closer to our goal, Pawluk et al.
(Pawluk, et al. 2012) have recently presented the
STRATOS cloud brokerage framework which
addresses the problem of dynamically selecting
resources from multiple cloud providers at runtime.
Furthermore, in (Lawrence, et al. 2010) the authors
propose the use of a so-called service optimizer (SO)
that continuously tests the compliance of service
execution with Service Level Agreements (SLAs)
through the use of dynamic SLAs. However, both of
these works focus mainly on the automatic cloud
service adaptation in IaaS layer.
An approach for cloud service ranking is
provided by SMICloud (Garg, Versteeg and Buyya
2011) which is a framework for comparing and
ranking cloud services. SMICloud is based on a set
of quantifiable measures, formally defined as SMI
attributes that model several quality dimensions of
cloud services. SMICloud uses an Analytical
Hierarchical Process (AHP) ranking mechanism to
solve the multi-criteria decision making problem of
finding the optimal cloud service. Similarly, Godse
et al. (Godse and Mulik 2009) applied an AHP
algorithm for ranking SaaS products.
Based on the above analysis, it is evident that
existing work has mainly focused up to now on the
optimization methodologies rather than on the
optimization process as a whole. Existing work on
the adaptation of service optimization (Pawluk, et al.
2012), (Lawrence, et al. 2010) mainly focuses on
automated service adaptation in IaaS layer and does
not consider the variety of changing conditions that
may occur in a cloud service ecosystem. Therefore,
our approach presented in the next section aims to
give an insight on the service optimization process
by proposing a continuous cloud service
optimization cycle, where cloud broker plays an
active role. Moreover existing optimization
methodologies consider only quantitative metrics by
assigning definite quantitative measures in user
preferences and in service characteristic evaluation.
Real world examples show that quantitative models
cannot always reflect the ranking among the services
accurately (Doyle and Thomason 1999). To this end,
in this paper we also motivate the need for
qualitative metrics to better model the imprecise
ranking among services.
3 SERVICE OPTIMIZATION
Our approach provides a holistic view on the
optimization process to help the user select the right
service. It includes the main design principles of an
autonomous system (Huebscher and McCann 2008),
i.e. it is based on a MAPE-K (Monitor, Analyse,
Plan, Execute, Knowledge) adaptation loop. The
lifecycle shown in Figure 1 consists of two different
concurrent iteration cycles, similar to the
visualization of adaptation mechanisms for service-
based applications in (Bucchiarone, et al. 2009). The
right cycle concerns the analysis, design,
development and deployment of the monitoring and
optimization mechanisms that constitute the control
layer which efficiently adapts the system in
continuous changes in the environment. The left
cycle applies the optimization and monitoring
mechanisms of the control layer by continuously
adapting the service provisioning layer. Both cycles
are applied both during cloud service on boarding,
i.e. initial cloud service migration as well as during
cloud service operation phase.
In more detail, the design time optimization
cycle sets the scope of the optimization with respect
to the application characteristics and the user
requirements. After the design of the appropriate
optimization and monitoring tools for the targeted
application, the optimization mechanisms will be
deployed in the system put into operational mode.
The optimization mechanisms are applied in the
continuous optimized service selection process
depicted in the left cycle. To this end, we have
identified four different steps that adapt the service
selection to current dynamic conditions. The same
four steps could be applied for the initial service
deployment, i.e. the cloud service on boarding as
well as for the continuous optimization of service
selection during the cloud service operation phase
after initial service deployment. Table 1 summarizes
the different information used before and after
deployment during the proposed four step process.
The proposed service optimization mechanism is
driven through the identification of optimization
opportunities. This step typically relies on the
automatic detection of the relevant information for
the optimization problem. In particular, during initial
cloud service on boarding, the optimization
ContinuousServiceOptimizationasCloudBrokerageService
383