efficient provisioning of service level agreements for service oriented applications valeria...

23
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

Upload: martha-copeland

Post on 02-Jan-2016

227 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 2: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 3: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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?

Page 4: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

IW-SOSWE 2007 4

Service selection

which services? (among a set of functionally equivalent candidates)

Service RequestorsService Providers

Composite Service

Page 5: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

IW-SOSWE 2007 5

Service provisioning

How much load (at most) to each candidate service?

Service RequestorsService Providers

Composite Service

Page 6: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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)

Page 7: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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)

Page 8: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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)

Page 9: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 10: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 11: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 12: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 13: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 14: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 15: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 16: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 17: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 18: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 19: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 20: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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

Page 21: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

IW-SOSWE 2007 21

Results (1)

Focus on the provisioning strategy for service 2 (Hotel Booking)

First scenario: minimizing the average cost (wc = 1)

Page 22: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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)

Page 23: Efficient Provisioning of Service Level Agreements for Service Oriented Applications Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Francesco

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