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
© Copyright 2026 Paperzz