Specification and Satisfaction of SLAs in Service Oriented Architectures

advertisement
Specification and Satisfaction of
SLAs in Service Oriented
Architectures
Stuart Anderson, Antonio Grau, Conrad Hughes
School of Informatics
University of Edinburgh
15 March 2005
DIRC Research Conference
1
Service Oriented Architectures
• SOA is an architectural style whose goal is to achieve
loose coupling among interacting software agents.
• A service is a unit of work done by a service provider
to achieve desired end results for a service consumer.
15 March 2005
DIRC Research Conference
2
Web Services
• A web service is a web site intended for use by
computer programs instead of humans (XML and not
HTML)
15 March 2005
DIRC Research Conference
3
Quality of Service - SLAs
• Specification of non-functional requirements:
- Network Parameters, Availability, Reliability, Time To
Complete, Security, Safety, Accuracy etc.
• Service Level Agreements (SLAs):
Agreement between the provider of a service and the
customer that defines the set of QoS guarantees and
the obligations of the parties.
15 March 2005
DIRC Research Conference
4
SLA Components
• Purpose
• Parties
• Validity Period
• Scope: services covered in the agreement
• Service Level Indicators: QoS Parameters and
their respective metrics
• Service Level Objectives (SLOs): Constraints over
the QoS Parameters that may have a precondition.
• Penalties and actions to perform when the SLOs
are not met.
15 March 2005
DIRC Research Conference
5
Precise
• Service Provider and Customer clearly understand the
offered QoS
• Help to automate the SLA Management Process
• When the SLA should be checked for compliance,
over which sample of data, and from where the
measurements should be taken.
Establishment of a QoS Ontology (Definition of terms
and the semantics of the relationships between
them)
15 March 2005
DIRC Research Conference
6
Flexible
• Web Services can be extremely diverse:
– Streaming Multimedia: Size and Quality of the media
– E-Banking: Security of the transmitted Information
• And also their interactions:
– Single request-reply
– Long run requests over several hours
• SLA languages must be extensible
– QoS Parameters
– Metrics
XML-based languages are good candidates
15 March 2005
DIRC Research Conference
7
Qualitative Parameters
• Existing SLAs languages refer to observable QoS
Parameters
• They should also include qualitative, un-measurable
parameters:
– Security
– Compliance with Standards
– …
How can they be expressed?
How can the client trust their fulfilment?
15 March 2005
DIRC Research Conference
8
Relationships between QoS Params
• An SLA language should provide a set of logic
expressions constructs in order to be able to specify
tradeoffs between the QoS parameters:
– Between response time and availability
– Between size and quality of the data
• Giving a weight to the QoS Parameters:
– guide the resources provisioning in the case that all
SLOs are met.
15 March 2005
DIRC Research Conference
9
Definition of Effects
• The SLA must specify the consequences of not
meeting a SLO:
– List of Actions to perform (notifications, …)
– Specification of penalties for the provider (certain cost,
contract termination)
• Notification to the parties when the service level is
near violating a SLO, so additional resources can be
assigned.
15 March 2005
DIRC Research Conference
10
Exogenous Parameters
• QoS parameters can be affected by other parameters
that are not within the control of the service
provider:
– Example: No control of the network properties that are
provided by the client’s ISP.
• The SLA must define different guarantee levels in
function of the values of exogenous parameters.
15 March 2005
DIRC Research Conference
11
Exceptions
Failures
Hardware failures,
Software Bugs,
Measuring or monitoring failure
Service Maintenance
Hardware upgrades,
Software upgrades,
Backups
Network Properties
Low network availability,
High network error rate
Denial of Service
Client negligence/wilful misconduct,
Network/Internet security breaches,
Acts of God (fire, earthquakes, …)
15 March 2005
DIRC Research Conference
12
Example
• Web service providing text-to-speech audio
streaming:
SLO: No gaps of silence after a 10% of the audio
stream has been transmitted.
(to negotiate the audio quality depending on the
bandwidth)
15 March 2005
DIRC Research Conference
13
Example - WSLA
<ServiceLevelObjective name = "GapOccurrence">
<Obliged>TTSProvider</Obliged>
<Validity>
<Start>2005-01-31T09:00:00.000-00:00</Start>
<End>2005-01-31T9:00:00.000-00:00</End>
</Validity>
<Expression>
<Implies>
<Expression>
<Predicate xsi:type="Greater">
<SLAParameter>StreamTransmittedPercentage</SLAParameter>
<Value>10</Value>
<!-- 10% -->
</Predicate>
</Expression>
<Expression>
<Predicate xsi:type = "Equal">
<SLAParameter>BitsDelay</SLAParameter>
<Value>0</Value>
</Predicate>
</Expression>
</Implies>
…
</ServiceLevelObjective>
15 March 2005
DIRC Research Conference
14
Composition
• A service provider can make use of other providers to
supply part of the service functionality.
How the QoS of the components contribute to the
overall QoS?
15 March 2005
DIRC Research Conference
15
Download