38
SLA-Aware Enterprise Service Computing Longji Tang, PhD in CSSE [email protected]

SLA-Aware Enterprise Service Computing

Embed Size (px)

Citation preview

Page 1: SLA-Aware Enterprise Service Computing

SLA-Aware Enterprise Service

Computing

Longji Tang, PhD in CSSE [email protected]

Page 2: SLA-Aware Enterprise Service Computing

Introducing Myself

Challenges of Enterprise Service Computing

SLA-Aware Enterprise Service Computing

SLA-Aware SOAP Web Service Architectural

Style

Can REST Web Service be SLA-Aware?

Conclusion

September 19, 2012 2

Agenda

Page 3: SLA-Aware Enterprise Service Computing

September 19, 2012 3

Introducing Myself

My name is Longji Tang, PhD in Software

Engineering, I graduated from Computer

Science of University of Texas Dallas, 2011.

My PhD dissertation title is

“Modeling and Analyzing Enterprise Service-Oriented

Architectural Styles” http://gradworks.umi.com/3494567.pdf

Currently, I am a Sr. Technical Advisor in FedEx

IT. I have been working in IT industry since 1995

as developer, architect, project manager of

FedEx.com data center move project.

Page 4: SLA-Aware Enterprise Service Computing

Introducing Myself

Challenges of Enterprise Service Computing

SLA-Aware Enterprise Service Computing

SLA-Aware SOAP Web Service Architectural

Style

Can REST Web Service be SLA-Aware?

Conclusion

September 19, 2012 4

Agenda

Page 5: SLA-Aware Enterprise Service Computing

September 19, 2012 5

Challenges of Enterprise Service Computing

http://money.cnn.com/2011/04/21/technology/

amazon_server_outage/index.htm

http://www.windowsitpro.com/blog/

tony-redmonds-exchange-unwashed-50/office/

cloud-outages-reinforce-careful-assessment-slas-negotiated-140241

http://news.cnet.com/8301-1023_3-57415281-93/gmail-users-experience-outage/

Page 7: SLA-Aware Enterprise Service Computing

September 19, 2012 7

Challenges of Enterprise Service Computing

In the Fig. we’ve displayed

in order of fastest average

performance across the

globe, the top ranked

service provider sites. This

representation only includes

provider sites we’ve been

testing for 6 months or

longer, eliminating dispersal

and I hope… yielding the

most honest display of

response times across the

best of the best.

by CloudSleuth, 2011

https://cloudsleuth.net/blog/cloud-provider-global-performance-ranking-%e2%80%93-12-month-average

Page 8: SLA-Aware Enterprise Service Computing

September 19, 2012 8

Challenges of Enterprise Service Computing –

Facing the Facts

Outages:

04/21/2011 – Amazon

East Data Center

EC2 outage which

caused many web

sites down

08/07/2011 – Amazon

Dublin Data Center

Power outage

Google Email

outages

08/17/2011 -

Microsoft Office365

outage which

impacted its CRM

customers

Security Threads:

2010 – the

Anonymous group

successfully crashed

Mastercard.com and

strained the websites

of Visa and PayPal.

Dropbox could indeed

see the contents of

files, putting users at

risk of government

searches, rogue

Dropbox employees,

and even companies

trying to bring mass

copyright-infringement

suits.

Latency:

2010 - Cloudkick - one of

the many outfits that

offer a service for

overseeing the use of

Amazon EC2 and other

so-called compute clouds

- first noticed an Amazon

latency spike around

Christmas time, and the

problem has grown

steadily over the past

few weeks.

Aberdeen's report -

application performance

could impact overall

corporate revenues by

up to 9%.

Page 9: SLA-Aware Enterprise Service Computing

What are the risks moving to cloud?

September 19, 2012 9

• Projects fail to deliver acceptable performance

• Service consumers’ business is impacted

The figures are from dynaTrace presentation in 2011 Cloud Expo

Page 10: SLA-Aware Enterprise Service Computing

Introducing Myself

Challenges of Enterprise Service Computing

SLA-Aware Enterprise Service Computing

SLA-Aware SOAP Web Service Architectural

Style

Can REST Web Service be SLA-Aware?

Conclusion

September 19, 2012 10

Agenda

SLA-Aware SOAP Web Service Architectural

Style

Page 11: SLA-Aware Enterprise Service Computing

SLA-Aware Enterprise Service Computing

What are SLA and SLA-Aware?

Why SLA?

SLA-Aware Enterprise Service Computing

SOAP-Based SLA-Aware ESC

REST-Based SLA-Aware ESC

September 19, 2012 11

Page 12: SLA-Aware Enterprise Service Computing

SLA-Aware Enterprise Service Computing

Service Level Agreement is a negotiable QoS

contract between service consumer (SC) and

service provider (SP) on the service

guarantees for service consumers. The

guarantees include the operations that need

to be executed and the promised QoS that

should be provided. Formally, we define SLA

as

SLA= SLA (SC, SP, C(QoS)),

September 19, 2012 12

such as Amazon’s EC2 Service Level Agreement (http://aws.amazon.com/ec2-sla/).

Page 13: SLA-Aware Enterprise Service Computing

SLA-Aware Enterprise Service Computing

SLA-Awareness is a capacity and design

principle to guarantee QoS provided by

services. It uses dynamic SLA binding in a

service computing system environment to

achieve its goal. The capacity and quality of

an SLA-Aware service computing system is

controlled by dynamic SLAs and managed by

dynamic SLM.

September 19, 2012 13

such as SOA@SOI SLA-Aware Web Service Infrastructure

Page 14: SLA-Aware Enterprise Service Computing

SLA-Aware Enterprise Service Computing Benefits of Adopting SLA and SLA-

Awareness in Enterprise Service Computing

Service providers can delivery better services with

higher quality, since SLA is the design constrain.

Service providers can gain higher reputation and

increase ROI and reduce failure penalty.

Service consumers can get the service value from

what they pay.

Service consumers can get guarantee (include

service violation benefit) from SP.

Both SP and SC can get dynamic and real-time

high-assurance service from SLA-Awareness.

September 19, 2012 14

Page 15: SLA-Aware Enterprise Service Computing

SLA-Aware Enterprise Service Computing

September 19, 2012 15

Dynamic SLA vs. Static SLA

Vertical SLA vs. Horizontal SLA

Page 16: SLA-Aware Enterprise Service Computing

SLA-Aware Enterprise Service Computing

September 19, 2012 16

SLA-Aware QoS Taxonomy

SLA-Aware QoS Class

Cost & PaymentDepedabilityPerformance Security

· Response time

· Latency

· Round trip time

· Scalability

· Throughput

· Transaction rate

· Connect time

· Availability

· Accuracy

· Robustness

· Reliable message

· Error rate

· Security

· Trust

· Reputation

· Cost

· Penalty

· Service credit

Page 17: SLA-Aware Enterprise Service Computing

SLA-Aware SOAP Web Service Architectural Style

Framework, Standard and Language

Web Service Level Agreement (WSLA) : a specification and

reference implementation proposed by IBM.

WS-Agreement: a specification from the Open Grid Forum (OGF)

which provides an agreement protocol between service

consumers and service providers.

WS-Policy and WS-Policy Attachment: specifications of service

qualities which are part of SLA developed by the World Wide

Web Consortium (W3C).

SLAng: an XML language for defining SLA which is a part of the

contracts between web service clients and web services.

Web Service Offering Language (WSOL): a formal XML language

compatible with the Web Services Description Language

(WSDL).

September 19, 2012 17

Page 18: SLA-Aware Enterprise Service Computing

SLA-Aware SOAP Web Service Architectural Style

SLA-Aware Architectural Style

SLA-Aware Web Services

SLA-Aware Web Service Consumers

SLA-Aware SOA Data

SLA-Aware SOA Infrastructure

SLA-Aware SOA Management

SLA-Aware SOA Process

SLA-Aware Quality Attributes

September 19, 2012 18

Page 19: SLA-Aware Enterprise Service Computing

SLA-Aware SOAP Web Service Architectural Style

September 19, 2012 19

Cluster

SLA-Aware Service Consumer

Service Discovery

Service

registry

SLA-Aware Service Provider

Client-Side SLA Management

or Service Level MamagementService Level Management

SLA-Aware Business Application

or SLA-Aware Web service

Service Delivery

SLA-Aware Web Service

Negotiating

SLA Monitoring

Data

Agents

servers

Request service Claim QoS

invocating

SLA monitoringProvisioning

Find Register

Gathering

data

Gathering

data

Offering

Monitoring Monitoring

Customer

Workstation

SLA Dashboard

Page 20: SLA-Aware Enterprise Service Computing

SOAP-Based We Service SLA-Aware ESC

September 19, 2012 20

SLA-Aware Dynamic Data Center

Enterprise Services Delivery Network

Private Cloud

Services

Other

Services

Virtualized Infrastructure Provisioning Services

Provisioning

Orchestration

Services

Service Policy

Virtualization

Controller

Service SLA

Utility Handler

Dynamic Virtualized Infrastructure

Virtual

ServersVirtual

Storages

Virtual

Network

Physical Resources

Monitoring

Physical

Resource

Management

Business Applications

Delivery Network

Business Applications

SOA Management

SLAManagement

Other

Managements

mon

itorin

g

monito

ring

provision

invo

ke

negotiate

wat

ch

report

On-demand

requests

mo

nito

ring

monitoring

monitoring

Cloud

Cloud

WorkstationLaptops

Public Cloud

Serices

Page 21: SLA-Aware Enterprise Service Computing

SLA-Aware SOAP Web Service Architectural Style

September 19, 2012 21

Enterprsie Services

(search, ticket negotiation, billing, …)

Enterprise Application

(travel reservation, call center, ….)

SLAi

Internal Service Delivery Network Service

(IP, Ethernet, SAN)

SLMj

External Service Delivery Network Service

(ATM, SDH, Dark Fiber)

SLMk SLAk

SLAj

SLMi

Se

rvic

e P

rovid

er

Inte

rfa

ce

SLA

Monitoring

SLA

Monitoring

SLA

Monitoring

Se

rvic

e C

on

su

me

r In

terf

ace

Page 22: SLA-Aware Enterprise Service Computing

SLA-Aware SOAP Web Service Architectural Style

September 19, 2012 22

Storage

Infrastructure

Data

SLA-Aware Travel

Reservation

workflow

SLA-Aware

Client

Cloud

Cloud

Book airline

service

Book car

service

IaaS2

IaaS1

s4

s1

s2

s3

Workstation

SLA01

SLA12

SLA13

SLA2,IaaS1

SLA3,IaaS2

SLA4,IaaS3

· S1 is a travel booking service

· S2 is a airline booking service

· S3 is a rental car booking service

· S4 is a data service

BPEL

Engine

Page 23: SLA-Aware Enterprise Service Computing

Introducing Myself

Challenges of Enterprise Service Computing

SLA-Aware Enterprise Service Computing

SLA-Aware SOAP Web Service Architectural

Style

Can REST Web Service be SLA-Aware?

Conclusion

September 19, 2012 23

Agenda

Can REST Web Service be SLA-Aware?

Page 24: SLA-Aware Enterprise Service Computing

Can REST Web Service be SLA-Aware?

REST-WS

Unified interfaces

GET/PUT/POST/DELETE

Mostly HTTP Transport

Lightly bandwidth

QoS support – based on

transport

Complexity - lower

Communication Overhead –

high

Response is cacheable by

client, server or proxy

Suited for lightweight scenario

SOAP-WS

Flexible interfaces with POST

Transport agnostic

Comparatively higher

bandwidth

Wide array of message level

QoS options – WS-*

Complexity - higher

Communication Overhead –

higher

Not cacheable, you have to

use server-side cache tech

Suited for heavyweight

scenario

September 19, 2012 24

Page 25: SLA-Aware Enterprise Service Computing

Can REST Web Service be SLA-Aware? Dynamic SLA or SLA-Aware depends on many

Technologies:

Standards, Languages and Tools

Machine Readable Service QoS Description

Service Monitoring

Service Level Management (SLM)

SOAP-WS is comparatively mature and more supported in

all technologies above.

REST-WS lacks all mature technologies above and is less

supported as well as immature in them.

Adding complicated dynamic SLA or SLA-Aware system to

REST-WS architecture is not necessary, since it will violate

the simplicity of REST-WS. However finding a lightweight

way to do dynamic SLA for REST-WS is critical for

enterprises. September 19, 2012 25

Page 26: SLA-Aware Enterprise Service Computing

Standards, Languages and Tools WDSL 2.0 – Recommended by W3C, 2007

Provided formal way to describe REST Web Service

Potentially to define QoS – features and properties

Could not describe “content negotiation” – not SLA-Aware

WADL (Web Application Description Language) – W3C

Member Submission, 2009 a XML-based description language for HTTP-based Web applications,

such as applications which follow the REST architectural style

WADL is not yet widely supported. It has the advantage over the more

complicated WSDL in that it does not impose any further level of

abstraction on the service description; however, as tools become

available for application development with WADL, it is likely they will

include ways of automatically generating WADL, and this risks imposing

an RPC style on it, going against the intended simplicity of REST.

Google REST API Compile and Google REST Describer based on

WADL, 2007 by Thomas Steiner

September 19, 2012 26

Page 27: SLA-Aware Enterprise Service Computing

Context, Quality and Relevance of REST-

WS Context – conditions for the service usage

Quality – QoS (response time, availability, ….)

Relevance of service outcome – a service

outcome (representation) is considered relevant

when the provided results match the service

consumer (customer)’s need.

Specifying context and quality in JSON

Describing context and quality in WADL

September 19, 2012 27

“Context, Quality and Relevance: Dependencies and

Impacts on RESTful Web Services Design”, by Hong-Linh Truong, et al.

Page 28: SLA-Aware Enterprise Service Computing

Context, Quality and Relevance of REST-

WS

September 19, 2012 28

“Context, Quality and Relevance: Dependencies and

Impacts on RESTful Web Services Design”, by Hong-Linh Truong, et al.

QoS in JSON

QoS in WADL

Page 29: SLA-Aware Enterprise Service Computing

Monitoring Technology for REST-WS SLA

September 19, 2012 29

SALMon: A SOA System for Monitoring Service Level

Agreements, by Marc Oriol, Xavier Franch, Jordi Marco

Metrics of SALMon Architecture of SALMon

Page 30: SLA-Aware Enterprise Service Computing

Monitoring Technology for REST-WS SLA

September 19, 2012 30

Amazon CloudWatch Developer Guide RightScale Dynamic Monitoring

Technology

Page 31: SLA-Aware Enterprise Service Computing

Content Negotiation of REST-WS The service consumer and service provider of WS-* style web

services can negotiate QoS or SLA through WS-Agreement. The

question is if REST service consumer and REST services can

negotiate QoS. Roy Fielding presented “Content Negotiation” of

REST in his PhD thesis. “If the value set of a resource at a given

time consists of multiple representations, content negotiation may be

used to select the best representation for inclusion in a given

message.” I think Content negotiation can be regarded as one of

dynamic SLA for REST-WS.

Content negotiation is a mechanism defined in the HTTP

specification that makes it possible to serve different versions of a

document (or more generally, a resource representation) at the

same URI, so that user agents can specify which version fit their

capabilities the best. (sort of QoS)

In the new book “SOA with REST, the “Content Negotiation” is

defined as a REST design pattern

September 19, 2012 31

Page 32: SLA-Aware Enterprise Service Computing

Content Negotiation of REST-WS Content negotiation is one of the core concepts of

RESTful systems where a client can indicate which

media type(s) it prefers. Also within the media types it

can specify the order of preference. Client does this by

using Accept header. For example, consider the

following Accept header – (negotiated by content types)

Accept: application/xml;q=0.8, application/json;q=0.9

It indicates to the server a) it can accept XML and JSON formats

and b) it prefers JSON over XML (by providing higher value for 'q'

parameter. q value ranges from 0.0 to 1.0, higher value indicates

more preference). Another more complex example:

September 19, 2012 32

Page 33: SLA-Aware Enterprise Service Computing

From WS-Agreement to REST-Agreement WS-Agreement describes an XML schema for specifying service level

agreement (SLA) and a simple protocol that describes how parties can

communicate to build an agreement among them.

WS-Agreement (Open Grid Forum or OGF) is one of tech standards for

building dynamic SLA or SLA-Awareness in SOAP-WS systems.

Roland Kubert, et al, proposed a REST-Agreement: Identifying resources – Template, list of templates, agreement, list of agreements, agreement

state

Describing on resource representations by XML

Defining URIs: /rest-agreement/templates (GET)

/rest-agreement/templates /search{query} (GET)

/rest-agreement/template/{id} (GET)

/rest-agreement/agreements (POST)

/rest-agreement/agreement/{id} (GET)

/rest-agreement/agreement/{id}/state (GET)

Validating templates, offers and agreements – to ensure the correctness of an SLA instance,

the validation includes: Every SLA instance is in XML format.

Every SLA template or SLA is an instance of the REST-Agreement XSD.

Handling state Encode state in URIs or

Store state in a persistent storage and encode a reference to the state in the URIs.

September 19, 2012 33

Page 34: SLA-Aware Enterprise Service Computing

Does the REST-Agreement violated REST constraint? “We next add a constraint to the client-server interaction:

communication must be stateless in nature, as in the client-

stateless-server (CSS) style of Section 3.4.3 (Figure 5-3), such that

each request from client to server must contain all of the information

necessary to understand the request, and cannot take advantage of

any stored context on the server. Session state is therefore kept

entirely on the client.”

“This constraint induces the properties of visibility, reliability, and

scalability.” -- Chapter 5 of Roy Fielding PhD Thesis

REST-Agreement Proposed by Roland needs to keep agreement

state on the server-side. It slightly violates REST “stateless”

constraint.

To satisfy some of enterprise requirements or needs from cloud

computing, such as dynamic SLA management, negotiation feature

between service consumers and service providers, I do think we

need to relaxing some of REST constraints. It is a design tradeoff.

You sacrifice certain scalability, but you get REST SLA feature.

September 19, 2012 The University of Texas at Dallas 34

Page 35: SLA-Aware Enterprise Service Computing

Introducing Myself

Challenges of Enterprise Service Computing

SLA-Aware Enterprise Service Computing

SLA-Aware SOAP Web Service Architectural

Style

Can REST Web Service be SLA-Aware?

Conclusion

September 19, 2012 35

Agenda

Page 36: SLA-Aware Enterprise Service Computing

Conclusion

Introduced SLA-Aware Enterprise Service

Computing

Presented SLA-Aware SOAP-WS

Architectural Style

Discussed Potential Approach of Dynamic

SLA for REST-WS

Finding lightweight way to make RESTful

web service QoS-Aware & SLA-Aware is

important to enterprise service computing.

September 19, 2012 36

Page 37: SLA-Aware Enterprise Service Computing

References

Longji Tang, Modeling and Analyzing Enterprise

Service-Oriented Architectural Styles, PhD

Thesis, UTD, 2011

Roy Fielding, Architectural Styles and the Design

of Network-based Software Architectures, PhD

Thesis, University of California, Irvine, 2000.

Raj Balasubramanian, Benjamin Carlyle , Thomas

Erl , Cesare Pautasso,Herbjörn Wilhelmsen and

David Booth, SOA with REST: Principles,

Patterns & Constraints for Building RESTful

Enterprise Solutions, Prentice Hall, 2012.

September 19, 2012 37

Page 38: SLA-Aware Enterprise Service Computing

September 19, 2012 38

Thank You!