Elastic Business Process Management: State of the art and open challenges for BPM in the cloud
Introduction
Business Process Management (BPM) enables flexible and individualistic composition and execution of services as opposed to hard-coded workflows in off-the-shelf software. Scalability of computational resources for these processes is an important challenge to realize in the next generation of inter-organizational processes [1]. In a traditional architecture, resources for human and service tasks within these processes had to be scheduled in advance and were sized so that they were able to allow for processing of tasks even at peak times. However, in non peak-times, resources would not be utilized, leading to overprovisioning. On the other hand, if resources were provided at a level that can only cover part of the processes’ resource demands during peak times, processes can either not be carried out (underprovisioning) or provide low Quality of Service (QoS) [2].
Cloud computing has changed how computing and storage services are provisioned. Through elastic, virtualized infrastructures, it is possible to lease and release the needed resources in an on-demand, utility-like fashion, with billing according to use (metered service or pay-per-use), and to scale the computing infrastructure up and down rapidly (rapid elasticity) [2]. However, we found that as of now, BPM cloud offerings solely focus on providing on-demand platforms and software over the internet in addition to selling traditional software licenses for server installations. Currently, there is very little information on resource elasticity of these offerings or even BPM software to run your own cloud-enabled BPM system.
Scientific workflows (SWFs) [3] and corporate data transformation processes, e.g. in master data management or logistics, among others can benefit from such systems. Both have heterogeneous yet mostly heavy computational and storage requirements. This is due to the fact that several steps of calculations and data transformations have to be made in a certain order. Simply providing a Web interface for process design and enactment does not suffice in these cases. It is important to also have access to elastic cloud resources for process enactment [4].
We believe this lack of elasticity support is due to the fact that for BPM, recent advances in cloud-based application provisioning cannot be transferred unmodified but have to be adapted to ensure consistent behavior when executing processes. For example, business processes carry their own state and may execute over a timeframe that can be longer than the life of a Virtual Machine (VM) provisioned in a given scenario. Hence, certain adjustments have to be made when executing processes. In addition, BPM knowledge, available through monitoring services, can be used to improve the resource prediction of current state of the art Infrastructure as a Service (IaaS) auto-scalers. This enables efficient leasing and releasing of computational resources to support execution of process tasks within time and cost constraints.
In this paper, we outline recent advances in BPM and cloud computing that have brought these two worlds closer together. We subsume them under the term elastic BPM—correspondingly, the entities we are discussing are elastic processes [5]. Our focus is on the part of process enactment, as opposed to other phases of the BPM lifecycle such as process design or process evaluation. There are at least two layers to consider when talking about elastic BPM: a business layer, covering all aspects which cannot be implemented to run automatically through a Business Process Management System (BPMS), and an infrastructure layer, covering all aspects of BPM execution. In this paper, we focus primarily on the infrastructure challenges posed and opportunities given by cloud computing and BPM.
We conceive different infrastructure challenges as separate threads or portions of a high level elastic BPM architecture which have interdependencies and intertwine. Following the common states of process enactment, initially there is the challenge of process scheduling: the ordering and execution of processes and their tasks on available resources. Alongside any execution, there is the monitoring of audit data, which presently involves input from and output to third party data streams in real-time. The automatic processing of individual tasks consumes computational resources. The cost-efficient provisioning and deprovisioning of virtualized infrastructure has to go hand in hand with process enactment and the process instances’ states. Finally, on a lower level including storage and state management of the applications serving the process, consistency issues have to be dealt with. These topics form the basis of our argument for a coalescence of BPM and cloud computing to allow both worlds to benefit from each other.
The paper provides first hand evidence of the state of the art of performing BPM on cloud infrastructures. In the course of designing and developing our research prototypes for elastic BPM, presented in a later section, we have encountered several obstacles for BPM in the cloud. We have compiled these into five distinct challenges which need to be countered. Concepts and prototypes for some aspects can be found in our research implementations while some other aspects still require further research. For the latter, we have fleshed out concrete research directions for the BPM and cloud communities to investigate, so as to enable truly elastic BPM.
This paper is structured as follows. First, we briefly present background work on BPM and cloud computing (Section 2). Then we introduce a BPMS for elastic processes (Section 3) and an overview of the current state of the art regarding the identified infrastructural challenges (Section 4). We underpin our main section on elastic BPM by describing two prototypical research prototypes which have been used to evaluate the benefits of joint BPM and cloud computing realizations (Section 5). Finally we summarize the findings and systematize future research directions in Sections 6 Future research directions, 7 Conclusion, respectively.
Section snippets
Business Process Management
Processes are generally defined as sequences of tasks performed within or across companies or organizations [6]. BPM refers to a collection of tools and methods for achieving an understanding of, managing, and improving an enterprises’ process portfolio [7]. Within this portfolio, processes are commonly classified into value-adding core processes and non-value-adding supplementary processes. Whereas core processes are considered to contain corporate expertise and produce products or services
Elastic BPM high level architecture
Elastic processes require nimble, agile BPMSs able to deal with the inherent dynamism of the cloud environment and process landscape. This motivates rethinking the traditional BPMS architecture to create an elastic BPMS (eBPMS). In this section, we discuss a high level eBPMS architecture and discuss its core components. It has to be mentioned at this stage that elastic BPM is not merely a purely technological problem with a technological solution. BPM commonly involves manual tasks which are
Scheduling for elastic processes
(Business) Process scheduling is defined as the problem to find an execution sequence for the process so that its tasks are finished under given constraints, e.g., timing, causality, and resource constraints [24], [25]. Especially scheduling under causality and timing constraints has been a major research topic in recent years, while resource constraints are a relatively new topic [26]. Scheduling under resource constraints describes the function of analyzing a queue of process instances or
eBPMS realizations
In Section 4, the current state of the art for different infrastructural challenges for elastic BPM has been discussed. In this section, we give examples in terms of two research eBPMS which represent the current state of the art, namely the Fuzzy BPM-aware Auto-Scaler and the Vienna Platform for Elastic Processes. These eBPMSs focus on resource allocation and process scheduling.
It should be noted that there are various approaches to bring BPMS to the cloud, i.e., as SaaS. Both research,
Future research directions
In the previous sections, we have discussed the current state of the art regarding the identified infrastructural challenges for elastic processes, namely scheduling, resource allocation, process monitoring, decentralized coordination, and state management. Furthermore, we have discussed the capabilities of two state of the art research eBPMS prototypes. We found that solutions aiming at elastic processes and elastic BPM are scarce and that the field is in general still in its infancy—current
Conclusion
Elastic BPM is a promising approach to realize scalable business processes in a cost-efficient and flexible way. Since elastic BPM constitutes a relatively new field of research, the number of respective solutions and research approaches is still small.
Within the scope of this paper, we have analyzed the state of the art in this field, with a focus on the infrastructural challenges of elastic BPM and elastic processes, namely scheduling, resource allocation, process monitoring, decentralized
Acknowledgments
This paper is supported by TU Vienna research funds and by the Austrian Science Fund (FWF)P23313-N23. This work is supported by the German Academic Exchange Service (DAAD) under the promotional reference “54392100” and by the Group of Eight (Go8) Australia–Germany Joint Research Cooperation Scheme. NICTA is funded by the Australian Government through the Department of Communications and the Australian Research Council through the ICT Centre of Excellence Program.
Stefan Schulte is a Postdoctoral Researcher at the Distributed Systems Group at Vienna University of Technology and the project manager of the ongoing EU FP7 project SIMPLI-CITY—The Road User Information System of the Future (http://www.simpli-city.eu). His research interests span the areas of service-oriented computing and cloud computing, with a special focus on Quality of Service aspects. In 2010, he finished his Ph.D. at Technische Universität Darmstadt, Germany. Findings from his research
References (101)
- et al.
Modeling languages for business processes and business rules: A representational analysis
Inf. Syst.
(2010) - et al.
Reinforcement learning based resource allocation in business process management
Data Knowl. Eng.
(2011) - et al.
An architecture for workflow scheduling under resource allocation constraints
Inf. Syst.
(2005) - et al.
Cost optimized provisioning of elastic resources for application workflows
Future Gener. Comput. Syst.
(2011) - et al.
Deadline-constrained workflow scheduling algorithms for infrastructure as a service clouds
Future Gener. Comput. Syst.
(2013) - et al.
Online cost-efficient scheduling of deadline-constrained workloads on hybrid clouds
Future Gener. Comput. Syst.
(2013) - et al.
Support vector regression for link load prediction
Comput. Netw.
(2009) - et al.
The effectiveness of workflow management systems: predictions and lessons learned
Int. J. Inf. Manage.
(2005) - et al.
Cooperative and decentralized workflow scheduling in global grids
Future Gener. Comput. Syst.
(2010) - et al.
Correctness criteria for dynamic changes in workflow systems—a survey
Data Knowl. Eng.
(2004)
URL: a unified reinforcement learning approach for autonomic cloud management
J. Parallel Distrib. Comput.
Towards living inter-organizational processes
A view of cloud computing
Commun. ACM
Scientific workflow: a survey and research directions
Experiences using cloud computing for a scientific workflow application
Principles of elastic processes
IEEE Internet Comput.
Process Innovation: Reengineering Work through Information Technology
Business Process Management: Concepts, Languages, Architectures
Business process management: A survey
Scientific workflows: business as usual?
Service scalability over the cloud
Multi-level elasticity control of cloud services
Schedule-aware workflow management systems
Towards process support for cloud manufacturing
Requirements for smart grid ICT architectures
On the relevance of security risks for cloud adoption in the financial industry
An empirical analysis of cloud, mobile, social and green computing—financial services IT strategy and enterprise architecture
ADAGE: a framework for supporting user-driven ad-hoc data analysis processes
Computing
Applying cloud computing in financial service industry
Optimizing the performance of automated business processes executed on virtualized infrastructure
Time constraints in workflow systems
Adaptive workflow scheduling under resource allocation constraints and network dynamics
Proc. VLDB Endow.
Workflow scheduling algorithms for grid computing
Principles of Sequencing and Scheduling
QoS-aware service composition: a survey
Computers and Intractability: A Guide to the Theory of NP-Completeness
Runtime measurements in the cloud: observing, analyzing, and reducing variance
Proc. VLDB Endow.
Applying scheduling techniques to minimize the number of late jobs in workflow systems
Scheduling—Algorithms, and Systems
Task scheduling for a temporal workflow management system
Time patterns for process-aware information systems
Requir. Eng.
Comparing provisioning and scheduling strategies for workflows on clouds
A particle swarm optimization-based heuristic for scheduling workflow applications in cloud computing environments
Evolving multi-objective strategies for task allocation of scientific workflows on public clouds
Workflow patterns
Distrib. Parallel Databases
A multiple QoS constrained scheduling strategy of multiple workflows for cloud computing
Multi-objective scheduling of BPEL workflows in geographically distributed clouds
Cited by (0)
Stefan Schulte is a Postdoctoral Researcher at the Distributed Systems Group at Vienna University of Technology and the project manager of the ongoing EU FP7 project SIMPLI-CITY—The Road User Information System of the Future (http://www.simpli-city.eu). His research interests span the areas of service-oriented computing and cloud computing, with a special focus on Quality of Service aspects. In 2010, he finished his Ph.D. at Technische Universität Darmstadt, Germany. Findings from his research have been published in more than 50 refereed scholarly publications. He serves as reviewer for prestigious conferences and journals, e.g., ACM Computing Surveys, ACM Transactions on the Web, or IEEE Transactions on Services Computing.
Christian Janiesch is an assistant professor of Information Management at the Julius Maximilian University of Würzburg. He has been researching at the European Research Center for Information System (ERCIS) at the University of Münster, Germany, as a senior researcher at the SAP Research Center Brisbane, Australia, and as a senior research associate at the Karlsruhe Institute of Technology (KIT), Germany. He holds a Ph.D. from the University of Münster. His research interests for information system design span the areas of business process management, cloud computing, business intelligence, and complex event processing. He has authored over 60 refereed scholarly publications including papers for CAIS, BPMJ, BISE, ECIS, and ICIS. He serves as a track chair for the business analytics and knowledge management track at ECIS and has been reviewing for several ACM and IEEE journals.
Srikumar Venugopal is a Lecturer in the School of Computer Science and Engineering in the University of New South Wales, Sydney, Australia and a researcher in the Service-Oriented Computing group in this school. His research interests lie in the area of large-scale distributed systems (clouds, grids, etc.), specifically in the topics of resource management and scheduling, application development, and middleware.
Ingo Weber is a Senior Researcher in the Software Systems research group at NICTA in Sydney, Australia, as well as an Adjunct Senior Lecturer at the School of Computer Science and Engineering (CSE), University of New South Wales (UNSW). He has published over 50 refereed papers, acted as a reviewer for many prestigious journals, including several IEEE and ACM Transactions, and has served as PC member for WWW, ICSOC, AAAI, and many other conferences. Prior to NICTA, he worked for CSE at UNSW, and at SAP Research Karlsruhe, Germany. He is co-authoring a new book titled “DevOps: A Software Architect’s Perspective”.
Philipp Hoenisch is a second year Ph.D. student at the Distributed Systems Group at Vienna University of Technology. Before starting his Ph.D., he collected hands-on software developing experiences in several Open Source projects. His research interests cover the whole spectrum of Cloud computing, with the main focus on cost-efficient automatic scaling in order to provide a high Quality of Service for elastic processes.