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