efficient provisioning of service level agreements for service oriented applications valeria...
TRANSCRIPT
Efficient Provisioning of Service Level Agreements
for Service Oriented Applications
Valeria Cardellini, Emiliano Casalicchio,
Vincenzo Grassi, Francesco Lo Presti
Università di Roma “Tor Vergata”, Italy
IW-SOSWE 2007
IW-SOSWE 2007 2
The SOA environment
Applications built by composing services services offered by loosely coupled providers “recursion”: a composition of services can be offered as a service
Competing services same functionality, but different QoS and/or cost by the same provider or by different providers
Service Level Agreement (SLA) a contractual framework for the requester and provider obligations,
to deliver a service at a given QoS and cost level
SLA management : key issue in a SOA environment
IW-SOSWE 2007 3
SLA management
SLA life-cycle creation deployment & provisioning enforcement & monitoring
termination
SLA provisioning (from the viewpoint of a composite service provider)
service selection– which services? (among a set of functionally equivalent candidates)
service provisioning– how much load (at most) to each candidate service?
IW-SOSWE 2007 4
Service selection
which services? (among a set of functionally equivalent candidates)
Service RequestorsService Providers
Composite Service
IW-SOSWE 2007 5
Service provisioning
How much load (at most) to each candidate service?
Service RequestorsService Providers
Composite Service
IW-SOSWE 2007 6
A conceptual model for service selection (1)
1
2 3
4
(V11, V21)
(V13, V23)
(V12, V22)
(V14, V24)
A flow graph for 2 service classes (m=2)
A probabilistic flow graph a model of the composite service workflow
Graph macro-node: an abstract service Usage profile : average number of
invocations for each abstract service i: (V1i
… Vmi)
IW-SOSWE 2007 7
A conceptual model for service selection (2)
Candidate concrete services represented inside each flow graph macro-node
4.1 4.2
1.1 1.2 1.3
3.1 3.22.1 2.2 2.3
1
32
4
(V11, V21)
(V12, V22) (V13, V23)
(V14, V24)
IW-SOSWE 2007 8
(V11, V21)
A conceptual model for service selection (3)
“control variables” xuij used to model the service selection
xuij refers to the selection of the concrete service i.j (which implements the abstract service i), for service class u
xuij {0, 1}
4.1 4.2
1.1 1.2 1.3
3.1 3.22.1 2.2 2.3
1
32
4
1.1 1.2 1.3
(x111, x211) (x113, x213)(x112, x212)
1
(V12, V22) (V13, V23)
(V14, V24)
IW-SOSWE 2007 9
Existing approaches for service selection
selection made for a single request, according to one or more QoS attribute
xuij = 0 (service i.j not selected) or
xuij = 1 (service i.j selected)
pros very high flexibility
– each request managed on an individual basis (per request customized QoS and cost) quite strict QoS guarantees
– concerning each single request
cons computational cost
– NP-hard problem, heuristics for approximate solution– problems in case of a high rate of requests
risk of instability problems for service provisioning planning
IW-SOSWE 2007 10
Our approach selection made considering all requests in a temporal window
(SLA duration) statistical guarantee for the average overall QoS in the window 0 ≤ xu
ij ≤ 1 : probability that service i.j is selected more than one concrete service can be selected for the abstract
service i
pros reduced computational cost
– linear programming problem– solution calculated “once” for the entire SLA duration
facilitates service provisioning planning – wider temporal horizon
cons less flexibility
– same QoS/cost for all requests coming from a requester (but we can manage customized SLAs for different requesters) looser guarantee
– average over all the temporal window
IW-SOSWE 2007 11
An SLA model (for a composite service) SLA template :
SLO : upper bounds on the avg. response time and cost, lower bound on the avg. availability
– other QoS parameters could be addded load: upper bound on the rate of requests sent by the client duration: validity period of the contract
for both the : provider role (towards the prospective clients) requester role (towards the candidate component services)
slotted time model
SLA duration
SLA obligations to be fulfilled within each slot
IW-SOSWE 2007 12
General optimization problem an optimization problem for each time slot covered by at least one
SLA minimize (or maximize) a global utility function (QoS/cost goals)
involving all the SLAs covering that time slot takes into account constraints that limit the set of feasible solutions
SLA for requester a
SLA for requester b
SLA for requester c
Constrained multi-criteria optimization problem
QoS constraints
Functional constraints
T : overall time period covered by SLAs
IW-SOSWE 2007 13
Notation T: overall time period covered by SLAs
t T : a time slot Ii,t : set of candidate concrete services (implementing i) available at t Ut : set of composite service requesters at time slot t [ri j, ci j, a i j, Li j, Di j ] : SLA of the composite service provider with the
provider of concrete service i.j Ii,t
– ri j : upper bound on the average response time
– ci j : upper bound on the average cost
– ai j : lower bound on the average availability
– Li j : upper bound on the average request rate to i.j
– Di j : SLA duration
[r u, c u, a u , u, D u ] : SLA of the requester u Ut with the composite service provider
x ui,j,t : fraction of requests for i generated by u Ut at t T , addressed to i.j Ii,t (service selection)
b i,j,t : rate of requests addressed by the composite service to i.j Ii,t,
at t T (service provisioning)
SLA between the composite service (requester role) and a constituent concrete service
SLA between the composite service (provider role) and a requester
constraints
control
IW-SOSWE 2007 14
QoS attributes (1) Average number of requests to the concrete service i.j Ii,t ,
generated by a request of the requester u Ut : Viuxi, j ,t
u
Average response time (upper bound) for a request of u Ut :
holds in case of no fork-join patterns (e.g. BPEL flow construct)– see Cardellini, Casalicchio, Grassi, Lo Presti (ICWS 2007) for a more general
expression
Rtu(x) =
i∑
j∑ Vi
uxi, j ,tu ri, j
Average cost (upper bound) for a request of u Ut :
Ctu(x) =
i∑
j∑ Vi
uxi , j,tu ci, j
Analogous expression for the average availability (lower bound) using the logarithm of availability to make it additive
IW-SOSWE 2007 15
QoS attributes (2) Overall response time (C(x)), cost (R(x)), availability (A(x)) :
availability expression holds for the logarithm of availability
€
C(x) =
γ uCtu(x)
u
∑t∈T
∑
γ u
u
∑t∈T
∑
€
R(x) =
γ uRtu(x)
u
∑t∈T
∑
γ u
u
∑t∈T
∑
€
A(x) =
γ uAtu(x)
u
∑t∈T
∑
γ u
u
∑t∈T
∑
IW-SOSWE 2007 16
Instance of the optimization problem maximize the objective function (weighted sum of the normalized
QoS attributes) :
F(x) =wc
Cmax−C(x)Cmax−Cmin
+wr
Rmax−R(x)Rmax−Rmin
+wa
A(x)−Amin
Amax−Amin
subject to constraints:
Ctu(x) ≤Cmax
u t∈Du,u∈U
Rtu(x)≤Rmax
u t∈Du,u∈U
Atu(x) ≥Amin
u t∈Du,u∈U
xi , j,tu ≥0, xi, j ,t
u =1j∑
γuViuxi, j,t
u ≤Liju∈U∑bi, j ,t
SLA constraints(provider role)
SLA constraints (requester role)
functional constraints
IW-SOSWE 2007 17
SLA provisioning process
Optimization problem solved : each time a new requester arrives
– SLA admission control each time a significant change is detected
– concrete service, usage profile, QoS values, usage profile …
Once a solution has been calculated use the xu
i,j,t values to select randomly one concrete service for each abstract service needed to fulfill a request from requester u
IW-SOSWE 2007 18
Example Travel Planner composite service
Set of abstract services = {1, 2, 3, 4, 5, 6}– (see paper for the usage profiles)
1
2
3
4
5 6
IW-SOSWE 2007 19
Example SLAs (1) Travel Planner requester role
2 candidate concrete services for each abstract service, except service 2 (Hotel booking), which has 4 candidate concrete services
SLAs with these services– Load : Lij = 10 for each i.j– Duration : “infinite”, except for providers
of service 2
SLO :
Serv. cij rij aij Serv. cij rij aij
1.1 6 2 0.999 3.2 1 3 0.99
1.2 3 4 0.99 4.1 0.5 0.5 0.999
2.1 4 2 0.999 4.2 0.3 1 0.99
2.2 2 4 0.99 5.1 1 2 0.999
2.3 4.5 1 0.99 5.2 0.7 2.2 0.99
2.4 1 5 0.95 6.1 0.5 1.8 0.999
3.1 2 1 0.999 6.2 0.2 2 0.99
IW-SOSWE 2007 20
Example SLAs (2) Travel Planner provider role
3 requesters for the Travel Planner service (+ an additional one, arriving later)
SLAs with these requesters– Load : 1 = 3, 2 = 2, 3 = 6, (4 = 2)
– Duration :
SLO :
Requester Cmax Rmax Amin
1 20 12 0.95
2 15 15 0.95
3 12 20 0.9
4 12 15 0.9
IW-SOSWE 2007 21
Results (1)
Focus on the provisioning strategy for service 2 (Hotel Booking)
First scenario: minimizing the average cost (wc = 1)
IW-SOSWE 2007 22
Results (2)
Focus on the provisioning strategy for service 2 (Hotel Booking) Second scenario: minimizing the average response time (wr = 1)
IW-SOSWE 2007 24
Conclusions and future work
A flexible and efficient approach for SLA provisioning flexible: customized QoS/cost for each requester efficient: solution calculated by liner programming techniques
Future work SLAs with stricter statistical guarantees Service sharing among different applications