S1.2 Slides A Model-based Framework for SLA Management

SDL Forum 2015
Berlin, Germany, 12th October 2015
Concordia University
Department of Electrical and Computer Engineering
Montreal, QC, Canada
Montreal, QC, Canada
A Model-based Framework for SLA
Management and Dynamic Reconfiguration
Mahin Abbasipour, Ferhat Khendek, and Maria Toeroe
Outline
Goal
Overall monitoring approach



Review of the metamodels


Service Level Agreement (SLA) metamodel
SLA compliance metamodel
SLA violations avoidance
Example
Conclusion and future work



2
Introduction
Owns
System
Service Provider
(2) Agrees on
(1) Negotiate
SLA
(2) Agrees on
Customer
3
(3) Interacts with
Goal
Service providers aim at increasing their revenue by



Saving resources: operate the system with minimal required
resources
Avoiding penalties: provide resources whenever needed in
proactive manner to meet SLAs
Customers want to pay per use
runtime reconfiguration is needed

Goal: Devise a framework for dynamic
reconfiguration as required while avoiding SLA
violations

4
Challenges
The provision of resources (scale in/out and scale
up/down) should be at an appropriate time



5
E.g. Early scale up/out results in resource wasting
E.g. Late scale up/out results in SLA violations
Methodology
We use a model driven approach




6
Increase the level of abstraction
We use UML profiling mechanism and UML 2.4
Reuse the previously generated models
SLA Compliance Management
SLA Compliance Model
Monitoring
System
Measured
Data
Thresholds
SLAs Model
..
Configuration
..
.
.
.
SLA_1
SLA_1
SLA_1
System
.
SLA_1
SLA_1
SLA_n
OCL
Triggers for scaling of the system
Elasticity
Rules
Reconfigures
7
.
Reconfiguration
SLA Metamodel
+provider
SLA
1..*
Party
1..*
+customer
0..1
*
+ThirdParty
-startDate
-duration
-id
-price
1
1..*
ObligedBy
+composite
1
Metric
ServiceFunctionality
0..*
-frequency: Real
1
*
Penalty
-fee
RelatedTo
0..*
SlaParameter
0..1
AssociatedWith
1
1
-maxAgreedValue:Real
-minAgreedValue:Real
0..*
DefinedBy
SlaMetric
MeasuredMetric
1..*
1
MonitoredMeasurement
+measuredMetric
SLA Compliance Metamodel
SLA
-startDate
-duration
-id
-price
<<Enumeration>>
Goal
-Minimize
-Maximize
BelongsTo
+provider
Party
ObligedBy
+customer
0..1
+thirdParty
1..*
ContainedService
1..*
Provider
-capacity
-maxThreshold
-minThreshold
0..*
ServiceFunctionality
SupportedBy
0..*
+providedBy -currentCapacity: Real
-systemCapacity: Real
-maxCurrentThreshold: Real
-minCurrentThreshold: Real
1 DecomposedTo
0..*
1..* +measuredMetric
Metric
-frequency
MeasuredMetric
-measuredValue: Real
SlaMetric
9
+measuredMetric
1..*
0..*
DefiniedBy
RelatedTo
0..*
SlaParameter
-mappedValue: Real
-goal: Goal
-maxAgreedVale:Real
-minAgreedValue: Real
-slaThreshold: Real
0..*
*
0..1
Penalty
-fee
Mapping Rules

Example: the mapping between Availability as an SLA parameter and
up time and downtime as metrics
Context Availability :: mappingRule ( )
Self.mappedValue=self.measuredMetric->
select(c|c.oclIsTypeOf(MeasuredUpTime))->
Collect(c|c.measuredValue)->asSequence()->at(1)
/
(self.measuredMetric->
select(c|c.oclTypeIsTypeOf(MeasuredUpTime))->
Collect(c|c.measuredValue)->asSequence()->at(1)
+
self.measuredMetric->select(c|c.oclType(MeasuredDownTime))->
Collect(c|c.measuredValue)->asSequence()->at(1))*100
10
Trigger Generation

OCL constraints in the SLA compliance metamodel are
defined such that by violation of them, a trigger for
reconfiguration is generated


When a value of threshold is reached a violation happens
We have defined two types of OCL constraints:


11
For avoiding violations in SLA parameters of individual SLAs
For providing resources to the system based on the workload
variations
SLA Violation Avoidance
For detecting violations in SLA parameters of individual SLAs
 They are categorized based on the goal attribute of SLA
parameter

SLA
Constraint SLA_Violation
context SlaParameter
inv self.goal=Goal::Minimize implies
self.mappedValue <= slaThreshold


1
BelongsTo
1..*
SlaParameter
-mappedValue: Real
-goal: Goal
-maxAgreedValue: Real
-minAgreedValue: Real
-slaThreshold: Real
When a constraint violation happens, by BelongsTo association
we see which SLA has been violated
12
SLA Violation Avoidance

Constraint for detecting violation in SLA parameters with
optimization goal of minimizing
context SlaParameter
inv Provider_slaParameter_violation_Detection_Minimize:
self.goal=Goal::Maximize implies
self.mappedValue >= slaThreshold

For parameters with optimization goal of Minimize, the value
of slaThreshold=MaxAgreedValue-x, x>=0



If x=0, the violation is only detected
With x>0, the violation is avoided
Similarly, for parameters with optimization goal of Maximize,
the value of slaThreshold=minAgreedValue+x, x>=0
13
Resource Provision

The allowed workload coming from all customers should be
less than the maximum capacity of the current system
ServiceFunctionality

Constraint Expansion_Detection
context ServiceFunctionality
inv self.maxcurrentThreshold >=
(self.slaParameter->select(c|c.oclIsTypeOf(Rate))->
select(d|d.maxAgreedValue <= d.mappedValue)
.maxAgreedValue->sum() +
self.slaParameter->select(c|c.oclIsTypeOf(Rate))->
select(d|d.maxAgreedValue > d.mappedValue)
.mappedValue->sum())
14
-currentCapacity
-systemCapacity
-maxCurrentThreshold
-minCurrentThreshold
+slaParameter
0..*
SlaParameter
-mappedValue: Real
-goal: Goal
-maxAgreedVale: Real
-minAgreedValue: Real
Rate
SLA Example
Provider_P1
Provider_P1
SLA_1
SLA_2
Customer_C2
Customer_C1
VoIP
VoIP
Availability
Rate
-minAgreedValue: 99.9
-maxAgreedValue: 99.99
-minAgreedValue: 300
-maxAgreedValue: 700
Model_1
Availability
Rate
-minAgreedValue: 99
-maxAgreedValue: 99
Model_2
-minAgreedValue: 200
-maxAgreedValue: 400
Example of SLA Compliance Model
Customer_C1
Customer_C2
Provider_P1
SLA_1
SLA_2
DataRate_1
-mappedValue: 700
-minAgreedValue: 300
-maxAgreedValue: 700
-goal: Maximize
16
VoIP
-systemCapacity: 2000
-maxCurrentThreshold: 900
-minSystemThreshold: 500
DataRate_2
400
-mappedValue: 450
-minAgreedValue: 200
-maxAgreedValue: 400
-goal: Maximize
Conclusion


We are proposing a model driven approach to monitor
the compliance of SLAs
Research issues to investigate






Generation of triggers for reconfiguration
Correlation of generated triggers
Evolution of SLA compliance model
Generation of elasticity rules
Reconfiguration of the system based on the generated
elasticity rules
Evaluate the overhead of the framework
17
Questions?
18