Design and Performance Analysis of Load Balancing Strategies for Cloud-Based Business Process Management Systems

Business Process Management Systems (BPMS) provide automated support for the execution of business processes in modern organisations. With the advent of cloud computing, the deployment of BPMS is shifting from traditional on-premise models to the Software-as-a-Service (SaaS) paradigm with the aim of delivering Business Process Automation as a Service on the cloud. To cope with the impact of numerous simultaneous requests from multiple tenants, a typical SaaS approach will launch multiple instances of its core applications and distribute workload to these application instances via load balancing strategies that operate under the assumption that tenant requests are stateless. However, since business process executions are stateful and often long-running, strategies that assume statelessness are inadequate for ensuring a uniform distribution of system load. In this paper, we propose several new load balancing strategies that support the deployment of BPMS in the cloud by taking into account (a) the workload imposed by the execution of stateful process instances from multiple tenants and (b) the capacity and availability of BPMS workflow engines at runtime. We have developed a prototypical implementation built upon an open-source BPMS and used it to evaluate the performance of the proposed load balancing strategies within the context of diverse load scenarios with models of varying complexity.

[1]  Cesare Pautasso,et al.  Micro-Benchmarking BPMN 2.0 Workflow Management Systems with Workflow Patterns , 2016, CAiSE.

[2]  Frank Leymann,et al.  Towards BPEL in the Cloud: Exploiting Different Delivery Models for the Execution of Business Processes , 2009, 2009 Congress on Services - I.

[3]  Xiao Liu,et al.  A market-oriented hierarchical scheduling strategy in cloud workflow systems , 2011, The Journal of Supercomputing.

[4]  Wil M.P. van der Aalst,et al.  YAWL: yet another workflow language , 2005, Inf. Syst..

[5]  Yan-Bo Han,et al.  A Cloud-Based BPM Architecture with User-End Distribution of Non-Compute-Intensive Activities and Sensitive Data , 2010, Journal of Computer Science and Technology.

[6]  Cesare Pautasso,et al.  A Framework for Benchmarking BPMN 2.0 Workflow Management Systems , 2015, BPM.

[7]  Hans-Arno Jacobsen,et al.  BPM in Cloud Architectures: Business Process Management with SLAs and Events , 2010, BPM.

[8]  Xiao Liu,et al.  A Generic QoS Framework for Cloud Workflow Systems , 2011, 2011 IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing.

[9]  Jianwen Su,et al.  Separating Execution and Data Management: A Key to Business-Process-as-a-Service (BPaaS) , 2014, BPM.

[10]  Cesare Pautasso,et al.  A Container-centric Methodology for Benchmarking Workflow Management Systems , 2016, CLOSER.

[11]  Gregor Polančič,et al.  Complexity metrics for process models - A systematic literature review , 2017, Comput. Stand. Interfaces.

[12]  Yang Yu,et al.  Towards the Design of a Scalable Business Process Management System Architecture in the Cloud , 2018, ER.

[13]  Srinath Perera,et al.  A Multi-tenant Architecture for Business Process Executions , 2011, 2011 IEEE International Conference on Web Services.

[14]  Cesare Pautasso,et al.  Estimating the Cost for Executing Business Processes in the Cloud , 2016, BPM.

[15]  Hajo A. Reijers,et al.  YAWL in the Cloud: Supporting Process Sharing and Variability , 2014, Business Process Management Workshops.

[16]  Wil M. P. van der Aalst,et al.  Complexity metrics for Workflow nets , 2009, Inf. Softw. Technol..

[17]  Jorge Cardoso,et al.  Control-flow Complexity Measurement of Processes and Weyuker's Properties , 2007 .