SLAs
In the DSCC project we are also addressing the specification and satisfaction
of Service Level Agreements (SLAs) for service-centric systems. An SLA is an
agreement between the provider of a service and a customer that defines the
set of Quality of Service (QoS) guarantees and the obligations of the parties.
In a QoS-aware service-centric architecture as depicted in the figure below,
we envisage three kinds of QoS specification documents: QoS Capability specification,
QoS Requirements specification and SLA specification.
A service provider publishes the set of QoS capabilities that is able to offer
in the service registry. A service client specifies the desired QoS requirements
for the service and accesses to the service registry to discover and select
the service provider that best meet these requirements based on the advertised
capabilities. A negotiation then starts between the client and the provider
in order to obtain an SLA that satisfies both parties. During the service execution,
the SLA will be the document of reference to monitor and assure that the QoS
levels are guaranteed. Thus, apart from the required Service Level Objectives
(SLOs), an SLA must include information about the measurement process, third
measurement or monitoring parties, and the actions to take when an SLO is not
fulfilled such as sending notifications to the parties and establishing penalty/reward
policies. The desired requirements for an SLA language and the appropriateness
of the WSLA language to SLA specification
is under conideration.
Our SLA language refers to the concepts of the QoS ontology
that has been defined in the project, so the provider and the client have a
means of sharing definitions of the terms and concepts used in the SLA. We are
also using an aggregated QoS inference
engine
for services composition, in order to find a composite
workflow structure and instantiation that satisfy a given SLA specification.
|