Automating SLA Modelling Tony Chau IBM Toronto & University of Toronto Vinod Muthusamy, Hans-Arno Jacobsen University of Toronto Elena Litani, Allen Chan,

Slides:



Advertisements
Similar presentations
FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
Advertisements

Pontus Boström and Marina Waldén Åbo Akademi University/ TUCS Development of Fault Tolerant Grid Applications Using Distributed B.
1 © Wolfgang Emmerich, 2002 UCL Wolfgang Emmerich.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Dynamic SLAs Discussion Omer Rana, School of Computer Science, Cardiff.
SPECIFYING AND MONITORING GUARANTEES IN COMMERCIAL GRIDS THROUGH SLA Sven Graupner Vijay MachirajuAad van Moorsel IEEE/ACM International Symposium on Clustering.
Corporate Context: A SOA & BPM Alliance Via Business Data Management Amir Bahmanyari Architect.
Transactional Mobility in Distributed Content-Based Publish/Subscribe Systems Songlin Hu*, Vinod Muthusamy +, Guoli Li +, Hans-Arno Jacobsen + * Chinese.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Delegates & Events Observer and Strategy Patterns Game Design Experience Professor Jim Whitehead January 30, 2009 Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0.
1 Xinke Lin Andreas Häber Veena Dodballapur Demystifying SOA and EDA.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Using Microsoft SharePoint to Develop Workflow and Business Process Automation Ted Perrotte National Practice Manager, Quilogy, Microsoft Office SharePoint.
® IBM Software Group © 2007 IBM Corporation IBM Rational Proof of Technology Discovering the Value of IBM Rational’s Web Services Testing Solution.
UNIT-V The MVC architecture and Struts Framework.
IBM Research – Thomas J Watson Research Center | March 2006 © 2006 IBM Corporation Events and workflow – BPM Systems Event Application symposium Parallel.
Automate Microsoft Azure Ross Sponholtz Mark Ghazai.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
CLEANROOM SOFTWARE ENGINEERING.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Kaifei Chen, Siyuan He, Beidi Chen, John Kolb, Randy H. Katz, David E
© 2007 by «Author»; made available under the EPL v1.0 | Date | Other Information, if necessary Eclipse SOA Tools Platform Project Eric Newcomer IONA Technologies.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Integrated Development Environment for Policies Anjali B Shah Department of Computer Science and Electrical Engineering University of Maryland Baltimore.
Service Transition & Planning Service Validation & Testing
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
(Business) Process Centric Exchanges
April 2004 At A Glance CAT is a highly portable exception monitoring and action agent that automates a set of ground system functions. Benefits Automates.
EQoSystem: Supporting Fluid Distributed Service- Oriented Workflows Vinod Muthusamy, Young Yoon, Mo Sadoghi, Arno Jacobsen
Data Tagging Architecture for System Monitoring in Dynamic Environments Bharat Krishnamurthy, Anindya Neogi, Bikram Sengupta, Raghavendra Singh (IBM Research.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Office Business Applications Workshop Defining Business Process and Workflows.
Component Oriented Programming 1 Introduction to COP.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Cross Support Services Area Cross Support Transfer Service Working Group Monitored Data Cross Support Transfer Service: Scope and Format of Monitored Data.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Enabling Components Management and Dynamic Execution Semantic.
1 Object Oriented Logic Programming as an Agent Building Infrastructure Oct 12, 2002 Copyright © 2002, Paul Tarau Paul Tarau University of North Texas.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
EBIZ302 Jupiter Business Process Automation and Web Services David Fong Program Manager.
Optimizing BPM Through SLAs & Event Monitoring
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Distributed Automatic Service Composition in Large-Scale Systems Songlin Hu*, Vinod Muthusamy +, Guoli Li +, Hans-Arno Jacobsen + * Chinese Academy of.
Computing Facilities CERN IT Department CH-1211 Geneva 23 Switzerland t CF Alarming with GNI VOC WG meeting 12 th September.
A Framework for Automated and Composable Testing of Component-based Services Miguel A. Jiménez, Ángela Villota, Norha M. Villegas, Gabriel Tamura, Laurence.
2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any.
RESERVOIR Service Manager NickTsouroulas Head of Open-Source Reference Implementations Unit Juan Cáceres
Copyright © 2006, Oracle. All rights reserved Oracle Web Services Manager.
Self Healing and Dynamic Construction Framework:
Distribution and components
Gestione di Service Level Agreements (SLA) in sistemi Grid
Daniel Amyot and Jun Biao Yan
INFS 6225 – Object-Oriented Systems Analysis & Design
Object-Oriented Analysis
Service-centric Software Engineering
Composite Subscriptions in Content-based Pub/Sub Systems
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Automating SLA Modelling
ONAP Architecture Principle Review
Presentation transcript:

Automating SLA Modelling Tony Chau IBM Toronto & University of Toronto Vinod Muthusamy, Hans-Arno Jacobsen University of Toronto Elena Litani, Allen Chan, Phil Coulthard IBM Toronto October 27, 2008

Outline Service level agreement (SLA) SLA modelling & implementation Flexible SLA model Automatic generation of monitoring artifacts

SLA Example service time < 3s, otherwise, charge provider N Y Good? Check credit history Ask Manager cost < $0.02 Validate request Approved? Deposit Notify Y N

SLA Example service time < 3s, otherwise, charge provider N Y Good? Check credit history Ask Manager cost < $0.02 Validate request Approved? Deposit Notify Y N

SLA Example service time < 3s, otherwise, charge provider N Y Good? Check credit history Ask Manager cost < $0.02 Validate request Approved? Deposit Notify Y N

Service Level Agreement Contract between service providers and consumers Define the level of service agreed by both parties Optionally define the penalty if the level of service is not satisfied

SLA Modelling Today Informally expressed (e.g., in a Word document) –Error-prone interpretation –Time consuming implementation e.g., to monitor the SLA, create dashboards, perform service selection (fabric support), automate resource provisioning –Tightly coupled with the business process Formally expressed (e.g., WSLA) –Still tightly coupled with the process –Not designed to be reused –Inflexible to changes in the SLA or process

Objective Simplify modelling and monitoring of SLA for any given business process –Encourage reusability and extensibility of SLA model –Automatic generation of monitoring artifacts

Automating SLA Modelling Flexible SLA model –Based on modular, composable and extensible SLA components Automatic Generation of Monitoring Artifacts –Based on distributed, event-driven architecture

The Flexible SLA Model Component-oriented Composes of several SLA components –Metrics –Service level objectives (SLOs) –Violation actions SLA components grouped in libraries –form building blocks of constructing SLAs

Reusable SLA Components A library of SLA components can be reused, composed, configured, and extended to quickly model arbitrarily complex SLAs. Metric Library Measure some aspect of a process SLO Library Action Library Evaluate an SLA objective Code that is executed upon SLO violation Id = ExecTime Dependent Events Function void getDependentEvents() { return {e1, e2, e3, e4}; } Event Handler void onEvent(e) { static entry = {i1, i2, …, in} if (e.activity in entry) entry[e.instance] = e.time else diff = e.time – entry[e.instance] publish (diff, e.instance) } Name = Execution Time Schema = {Scope (type:Scope)} Example Metric TypeMetric InstancesComponent Compositions Name = ProcessTime Type = ExecTime Scope=EntireProcess Name = BookingTime Type = ExecTime Scope={flight, train} AdminAction SevereExecTimeSLO PoorExecTimeSLO GenEventAction AvgExecTime FinishProcInstance StartProcInstance ProcExecTime

Reusable SLA Components A library of SLA components can be reused, composed, configured, and extended to quickly model arbitrarily complex SLAs. Metric Library Measure some aspect of a process SLO Library Action Library Evaluate an SLA objective Code that is executed upon SLO violation Id = ExecTime Dependent Events Function void getDependentEvents() { return {e1, e2, e3, e4}; } Event Handler void onEvent(e) { static entry = {i1, i2, …, in} if (e.activity in entry) entry[e.instance] = e.time else diff = e.time – entry[e.instance] publish (diff, e.instance) } Name = Execution Time Schema = {Scope (type:Scope)} Example Metric TypeMetric InstancesComponent Compositions Name = ProcessTime Type = ExecTime Scope=EntireProcess Name = BookingTime Type = ExecTime Scope={flight, train} AdminAction SevereExecTimeSLO PoorExecTimeSLO GenEventAction AvgExecTime FinishProcInstance StartProcInstance ProcExecTime

Reusable SLA Components A library of SLA components can be reused, composed, configured, and extended to quickly model arbitrarily complex SLAs. Metric Library Measure some aspect of a process SLO Library Action Library Evaluate an SLA objective Code that is executed upon SLO violation Id = ExecTime Dependent Events Function void getDependentEvents() { return {e1, e2, e3, e4}; } Event Handler void onEvent(e) { static entry = {i1, i2, …, in} if (e.activity in entry) entry[e.instance] = e.time else diff = e.time – entry[e.instance] publish (diff, e.instance) } Name = Execution Time Schema = {Scope (type:Scope)} Example Metric TypeMetric InstancesComponent Compositions Name = ProcessTime Type = ExecTime Scope=EntireProcess Name = BookingTime Type = ExecTime Scope={flight, train} AdminAction SevereExecTimeSLO PoorExecTimeSLO GenEventAction AvgExecTime FinishProcInstance StartProcInstance ProcExecTime

Reusable SLA Components A library of SLA components can be reused, composed, configured, and extended to quickly model arbitrarily complex SLAs. Metric Library Measure some aspect of a process SLO Library Action Library Evaluate an SLA objective Code that is executed upon SLO violation Id = ExecTime Dependent Events Function void getDependentEvents() { return {e1, e2, e3, e4}; } Event Handler void onEvent(e) { static entry = {i1, i2, …, in} if (e.activity in entry) entry[e.instance] = e.time else diff = e.time – entry[e.instance] publish (diff, e.instance) } Name = Execution Time Schema = {Scope (type:Scope)} Example Metric TypeMetric InstancesComponent Compositions Name = ProcessTime Type = ExecTime Scope=EntireProcess Name = BookingTime Type = ExecTime Scope={flight, train} AdminAction SevereExecTimeSLO PoorExecTimeSLO GenEventAction AvgExecTime FinishProcInstance StartProcInstance ProcExecTime

Loose Coupling of Flexible Model SLAs and processes can be modified independently. Their loose coupling reduces the possibility of invalidating the SLA. SLA Modification Change SLA to consider cost of all invoked services. Processes Modification Change process to only look for a flight if the train takes too long. Name = ServiceCost Type = TotalServiceCost Scope = {deposit, notify} Name = ServiceCost Type = TotalServiceCost Scope = EntireProcess No changes to the process are required. No changes to the SLA are required. Good? Check credit history Ask Manager Validate request Approved ? Deposit Notify Good? Check credit history Ask Manager Validate request Approved ? Deposit Notify

Validation During design time, the SLA can be automatically validated against the process. This provides confidence to modify SLAs or processes independently. Validation AdminAction SevereExecTimeSLO PoorExecTimeSLO GenEventAction AvgExecTime FinishProcInstance StartProcInstance ProcExecTime Process SLA Pass or Fail Invalid SLA components  Check if required parameters in all component instance have been specified.  Verify that parameters are valid.  Traverse SLA component graph and compute union of dependent events.  Verify that each event’s activity exists in process.

Automatic Generation Given an SLA, monitoring artifacts can be automatically generated for the process. The runtime artifacts, when executing, monitors the process to detect whether the SLA is violated. Generation Engine AdminAction SevereExecTimeSLO PoorExecTimeSLO GenEventAction AvgExecTime FinishProcInstance StartProcInstance ProcExecTime Process SLA Necessary events turned on Machine logic for monitoring

Runtime Architecture Runtime is based on publish/subscribe model. SLA components in the SLA model are generated as agents in the publish/subscribe system. These agents act as both publishers and subscribers. Process AdminAction SevereExecTimeSLO PoorExecTimeSLO GenEventAction AvgExecTime FinishProcInstance StartProcInstance ProcExecTime Publish/Subscribe System publish start event publish end event publish execTime event subscribe start and end event publish avgExecTim e event subscribe execTime event

Process Runtime Execution Events are consumed by agents. After events are processed, agents emit new events to propagate updates. It causes a chain reaction to re-evaluate the SLA. AdminAction SevereExecTimeSLO PoorExecTimeSLO GenEventAction AvgExecTime FinishProcInstance StartProcInstance ProcExecTime publish start event publish execTime event subscribe start and end event subscribe execTime event

Distributed Architecture Designed for distributed systems –Agents can be arbitrarily deployed across the pub/sub system –Scalable

Flexible Architecture Shared processing and network traffic –Multiple SLAs that make use of the same metric can share the generated agent –Events are sent once even if multiple agents are interested Dynamic runtime modification of SLAs –Add, modify or remove SLAs during monitoring –No downtime

Implementation Flexible SLA model –Editor implemented for user to modify SLAs –SLAs created for a given BPEL process –BPEL and WebSphere Integration Developer used as proof of concept Generation engine –Generate monitoring artifacts to be executed in WebSphere Business Monitor Server –Monitoring artifacts monitors BPEL process, to detect whether the SLA is violated –WebSphere products used as proof of concept

Conclusion Simplify modelling and monitoring of an SLA for any given business process –Maximize reusability and extensibility –Reduce development time –Reduce likelihood of errors Flexible SLA model –SLA components grouped in libraries –SLAs developed by assembling different SLA components –Extensible, flexible, compensable and configurable –Validation Automatic generation of monitoring artifacts –Automatic enabling of events in a process –Runtime architecture based on pub/sub system –Decentralized and scalable –Better use of computing/network resources