SLA-Driven Business Process Management in SOA Vinod Muthusamy, Hans-
23 Slides1.92 MB
SLA-Driven Business Process Management in SOA Vinod Muthusamy, Hans- Arno Jacobsen University of Toronto Tony Chau, Allen Chan, Phil Coulthard IBM Canada November 4, 2009 CASCON 2009 1 msrg.toronto.edu
Software Development Evolution CASCON 2009 msrg.toronto.edu 2
Agenda Goals and the business process development cycle Service Level Agreements and business process management Distributed process execution CASCON 2009 msrg.toronto.edu 3
Currently, business goals must be manually considered at every stage of the business process development cycle Only trusted partners service time 3s Y Get destination Validate request Find flight Far? N Find train cost 0.02 4 msrg.toronto.edu
Goals and the Development Cycle Let the system adapt to changing conditions to achieve the goals with minimal development and administrative effort Simplicity An analyst can specify goals without detailed knowledge of the implementation technologies Flexibility The requirements and implementation technologies can be independently updated End-to-end specification Requirements captured in the tools can be enforced and monitored throughout the development cycle Adaptive efficiency The system can allocate resources to meet changing requirements Modelling Business analyst Model Development Architect, developer Services Execution Administrator Events Monitoring Analyst, architect, administrator 5 msrg.toronto.edu
Service Level Agreements SLAs are a contract between service consumers and providers that specifies the expected behaviour of each party and the penalties of violating the contract SLAs specify business goals declaratively Layer SLA Metric Business process Cost Cost of search service 0.02 per use Fidelity/quality/utility Map resolution 300x300 Trust/reputation Only use trusted payment service Service time Execution time 3s Throughput Throughput 100/min Availability Uptime 99.9% Load balance Server utilization delta 10% Latency Service RTT 100ms Bandwidth Max bandwidth 3Mbps Jitter Delay jitter 10ms Deployment/ Operations Network msrg.toronto.edu Example 6
SLAs at Development Time Precisely specify SLA Flexible, reusable, extensible model Quickly construct SLA Validate Supports loose coupling of process and SLA Monitor process msrg.toronto.edu SLA Automatic instrumentation Efficient event-based monitoring 7
Runtime Uses of SLAs p Dynamic service discovery (fabric support) A Discover services with capabilities that satisfy goals. B Monitoring Only monitor the business events related to goals. Feed back measurements to support runtime adaptations. C ESB ESB adaptation Reconfigure the ESB topology to satisfy goals. 1a service time 2s 1b service time 1s M D 2 Web service M Monitor CASCON 2009 msrg.toronto.edu D C A,B Distributed execution Fine-grained allocation of process to available resources. Move portions of process to strategic locations. q Execution engine ESB router 8
Vision Workflow Management and Business Activity Monitoring start Deploy add remove halt resume Control Redirect 7 6 4 Visualize Update Business ActivityEvents 3 Monitor . Workflow and Business Process Execution Business Process Events Communication Abstractions Publish/Subscribe Point-to-Point Request/Reply Communication Events Orchestration Content-based Routing Business Process Execution Events Clients (publisher/subscriber) Content-based Router Computers Computers Laptops Computers 4 CA*net Switch Server Farm Database Switch Server Database Server Switch Server Laptops Computing, Storage, Instruments and Networking Resources msrg.toronto.edu Network and System Events Event Management Framework 9
Large-scale Business Processes Vendor Goods selection Goods delivery Dispatch B Packaging Pick-up goods Out-stock B FedEx Delivery Sale prediction Sale Manufacture Confirm features Sign Contract Fill out-stock bill Control Fill dispatch bill Material Out-stock B Make plan Out Take Assign Target price Finance msrg.toronto.edu Check stock Determinate plan Raw materials Execute plan Audit Process control Raw Pay Credit card Check Check dealer Check credit Approval Approval Signature Confirm Monitoring Feature selection Marketing Process Check order Design Prototype Warehouse Fill order Determinate plan CCC administrate Pick up Print receipt Statistic Requirement collection Feedback Strategy Design Monitor Affirm order Chart Marketing Validate Manufacture Order Payment
Distributed Process Execution 11 msrg.toronto.edu
Process Execution Architectures Centralized One execution engine May not scale Central point of failure Clustered Replicated execution engines Centralized control and data High bandwidth and latency Still may not scale A B C D A B C D A B C D C A,B D Agent-based Distributed execution engine In-network processing msrg.toronto.edu Lower bandwidth and latency Fine-grained use of resources 12
Software Architecture Redeployment Manager SLAs Execution Engine Ranking algorithms Estimators Tasks Instance states Atomic Redeployer Engine Resource Cost models Latency Execution Resource Monitor Input, output queues Candidate Discovery Bandwidth Agent Server Messaging CASCON 2009 msrg.toronto.edu 13
Cost Model The cost of a process is based on three cost components 1. Distribution cost Cdist Cd3 * (Cd1 Cd2) 3. Service cost Cserv Cs1 Cs2 Cs3 Cd1 Message rate Cd2 Message size Cd3 Latency Cs1 Latency of external service Cs2 Execution time of external service Cs3 Marshalling/unmarshalling 2. Engine cost Ceng f(Ce1, Ce2,Ce3) Ce1 Load (number of instances) Ce2 Resources (CPU, memory, etc.) Ce3 Task complexity Cost(agent) wiCi Cost(process) cost(agent) These costs can be weighted to achieve different objectives Optimize time Optimize network overhead wd1 wd3 we3 Cserv 1, other wi 0 wd2 wd3 1, other wi 0 Various optimization criteria can be specified Threshold criteria: wiCi x E.g., Report SLA violations within 3 s. msrg.toronto.edu Minimized criteria: min( wiCi ) E.g., Minimize distribution overhead 14
Atomic Redeployment Traditional pub/sub client movement protocols are expensive and do not offer strong transparency properties Transactional movement Formalized movement properties similar to ACID properties Efficient and guaranteed routing reconfiguration See padres.msrg.utoronto.ca t1 t2 At Old Broker t3 Disconnected t4 At New Broker tp Disconnect (moveout) msrg.toronto.edu Connect (movein) Active 1 2 moveout movein Client Client 15
SLA Monitoring Overhead Monitoring an SLA can be expressed as a process Optim. criteria SLA M Systematic mapping into flow of monitoring agents Optimize the execution of the monitoring “process” itself E.g., minimize traffic ESB M Metric Computation Scope filtering SLO Evaluation Scope filtering Events Scope filtering Events One per atomic or composite metric Events msrg.toronto.edu M One per ActionGuarantee Scope filtering Events Action Metric Computation SLO Evaluation Exclusions Enabling 1b M Reports Web service Exclusions Enabling One per SLO One per SLA Events 1a M Monitor 2
Evaluation 17 msrg.toronto.edu
Evaluation Business process p A Deployment Topology q B 1-p A C B 1 1-q ESB router 3 Execution engine Business process with time varying branch hotspots Initially biased towards A, B tasks p 90%, q 10% Then biased towards B, C tasks p 10%, q 90% Optimize network bandwidth w 1, other w 0 d1 i 3 execution engines Fix tasks A, C; allow task B to move Total cross-server messages of 100 process instances CASCON 2009 msrg.toronto.edu 2 C 18
Results Scenario 1: No change in initial branch probabilities (90%, 10%) Scenario 2: Changing branch probabilities System reconfigures to changing load Scenario 2 5000 2500 4000 2000 Cross-server comm. (messages) Cross-server comm. (messages) Scenario 1 3000 2000 1000 0 1000 500 0 Dynamic Static Dynamic Algorithm Static Algorithm CASCON 2009 msrg.toronto.edu 1500 19
Summary 20 msrg.toronto.edu
Exploiting SLAs Formal SLA model A formal SLA model can drive various stages of distributed application development. Process instrumentation. Monitoring rules generation. SLA validation. Autonomic ESB reconfiguration to C maintain SLA. A,B Fine grained resource usage.1a Automatic service composition. Goal-based discovery. Process monitoring1 2 Distributed execution M Service selection3 Distributed, scalable architecture. Real-time monitoring. Loosely coupled system. Transparent, live reconfiguration. 1b DLocalize process modification. 2 Distributed process search. Continuous search. Publish/subscribe messaging is an enabling technology for certain features. Distributed content-based publish/subscribe messaging middleware msrg.toronto.edu Papers: 1. Automating SLA Modeling, CASCON 2008. 2. SLA-Driven Distributed Application Development, MW4SOC 2008. Transactional Mobility in Distributed Content-Based Publish/Subscribe Systems, ICDCS 2009. 3. Distributed Automatic Service Composition in Large-scale Systems, DEBS 2008. Efficient Event-based Resource Discovery, DEBS 2009 21
Conclusions End-to-end management of process development Distributed process monitoring, execution, service selection Declarative SLA goals separate from the business process Simplify transitions between modeling, development, execution, monitoring phases All stages driven by declarative SLA requirements Scalable but more difficult to globally optimize Ongoing work More sophisticated reconfiguration algorithms Larger processes, topologies CASCON 2009 msrg.toronto.edu 22
Project websites An eQoSystem for declarative distributed applications with SLAs http://research.msrg.utoronto.ca/Eqosystem/ http://padres.msrg.utoronto.ca Acknowledgements CASCON 2009 msrg.toronto.edu 23