physical machine, virtual machine, network device,
etc.
In our work, we omit the dependence PaaS-IaaS,
therefore, the vertical dependence related to the
«uses» association can lead to only one possible
case: a SaaS service uses an IaaS service (the case of
a composite SaaS is deployed on a virtual machine
configured correctly and belonging to the data centre
of the cloud provider). In Figure 2, this dependence
is represented by the association « uses » between
different classes encapsulated in two dotted circles.
This vertical dependence ensures the selection of a
composite SaaS that meets the client’s request with
an optimal resource allocation (the adequate
IaaSService).
3.2 Management Features
In addition to the relevant concepts of composite
SaaS service, the management framework for the
Cloud provider must offer a holistic management of
cloud and covers all the layer SaaS, PaaS and IaaS.
Indeed, the separate cloud levels are strongly linked
and their definitions and their good operation can be
valorized only by reference to all the layers. For
example, a desfunctioning of a composite service
(execution of the service with a too long response
time) can be caused by a malfunction in one of the
lower levels of the cloud (PaaS or IaaS).
For each problem the cloud provider must find
the most effective solution by coordinating the
different layers.
In the literature, several management works
related to a single level of cloud and dealing with
management in isolation of the other level have
emerged (Spanoudakis and Mahbub, 2004),
(Barbon, Traverso et al., 2006) and (Baresi and
Guinea, 2011). Most of these approaches generally
cover features on the IaaS layer and neglect the other
levels as well as the vertical dependence between
them. As illustrated in Figure 3, in our work, the
management features considered by the provider
(ManagementFeatures) encompasses the three levels
of the cloud stack –
SaaSFeatures, PaaSFeatures and IaaSFeatures.
More specially, our framework includes the
following management features (see Figure 3): SLA
establishment, Computing cost of service usage,
Monitoring of execution service and Configuration
PaaS. The CPM framework is extensible, other
management features can be added to cover
additional cloud requirements.
In the following, we first detail each of these
management capabilities. Next, we present the
vertical dependence for each functionality across
different levels of Cloud. Finally, we focus on the
dependence SaaS-IaaS discussed at the
ManagementEntities package in order to propose in
section 4 a management method for vertical
dependence between SaaS and IaaS services (Recall
that our framework management assumes that the
dependence SaaS-PaaS is provided by a
configuration PaaS appropriate to web service
deployment and execution).
3.2.1 SLA Establishment
On the client side, a request for a composite service
is sent to the provider with QoS constraints such as
cost, response time, availability, etc.
Once negotiated, the qualities of service form a
clause in the SLA contract (Service Level
Agreement) established between the provider and
the customer. As part of our work, we are not
interested in the negotiation phase, we refer the
reader to the most relevant work in the theme (Li,
2011), (Linlin, Garg et al., 2013) and (Stantchev and
Schrpfer, 2009). We believe that once the SLA is
established, it will be agreed between the two parties
(provider and customer).
An SLA can be expressed between different
layers in the cloud stack, contractualising the
vertical dependencies between layers. We are
expected to focus on the vertical dependence
between SaaS and IaaS. Solving the problem of
vertical dependence means to express an SLA
between a SaaS client and a provider offering SaaS
service under an IaaS infrastructure. The solution is
represented by the class SLAEstablishment in Figure
3.
The provider offers a SaaS service that runs on
IaaS selected resources to meet the user’s
constraints. Thus, from the provider point of view,
there are two levels of SLA: SLA for the SaaS level
and SLA for the IaaS level (respectively SLASaaS
and SLAIaaS in Figure 3). SLA for the SaaS level
(SLASaaS) is the contract between the end user and
the cloud provider. It specifies a set of objectives in
SaaS level in terms of performance and availability.
Regarding the IaaS level, it dictates to the cloud
provider the adequate resources for the proper
execution of services while respecting the SLASaaS.
In our case, SLAIaaS represents an internal contract
to the provider since it has its own resource
infrastructure (IaaS). This type of contract indicates
the level of IaaS service in terms of the resource
infrastructures under which the composite service
should be executed (virtual machine, memory, CPU,
utilization rate, etc). The cloud provider can save the
SaaSCloudProviderManagementFramework
225