In Cloud Computing, resource elasticity is the ability to scale computing, storage, and network capacities. Scaling can be done either horizontally, when additional virtual machines (VMs) are leased or released if necessary, or vertically, when the size of a particular VM is changed ‡. Apart from resource elasticity, elasticity may be considered also from a cost and quality perspective. Cost elasticity describes the responsiveness of resource provisioning to changes in cost. Quality elasticity measures how responsive quality is to a change in resource usage ‡. Importantly, these three perspectives - resources, cost, and quality - do not necessarily have a linear relationship.
During the enactment of manufacturing processes in a Cloud Manufacturing platform, the usage of cloud-based computational resources allows for the runtime adjustment of infrastructural components based on the actual demand. Such flexible business processes which are enacted on the basis of smart leasing and releasing of computational resources are called elastic processes ‡. In order to realize elastic manufacturing processes, a methodology and toolset to manage the complete business process lifecycle is needed. It is equally important to control cloud-based computational resources appropriately: To lease resources when needed, to deploy process activities (in terms of single manufacturing services) onto those resources, to invoke service instances using a schedule, and to release resources after activities have been finished. Such cloud control mechanisms have recently become a topic of major interest within the research community ‡.
Elastic processes are composed from services. However, while in classic service composition services are available on the Internet of Services, for elastic processes, process owners or brokers may deploy services on cloud-based computational resources, e.g., VMs or containers. To realize elastic processes, a Business Process Management System (BPMS) is needed to be extended by modules to allow the BPMS to act as a cloud controller in order to lease and release resources, deploy services on these resources, and invoke the service instances following a process schedule ‡. The process schedule should be optimised based on functional and non-functional constraints.
In an elastic process landscape, process scheduling and resource allocation are based on the expected functionalities and non-functional demands of the process instances. Usually, constraints on non-functional attributes like Quality of Service (QoS) aspects, for example, an expected deadline for process enactment, are defined in Service Level Agreements (SLAs). Whenever SLA violations occur, penalty costs may be charged. There are several approaches to SLA enactment for single cloud applications, which optimise application executions with regard to cost minimization ‡. In addition, a number of different approaches have been proposed to solve the optimisation of elastic processes, e.g., ‡‡‡. In real-world manufacturing processes, a BPMS for elastic processes, also known as elastic Business Process Management System (eBPMS), needs to be able to solve these optimisation problems in very short time and under potentially heavy load.
In order to tackle the problem of elastic process optimisation, one common approach is to enact SLAs in a resource-efficient way with little or no human-based interaction. For this goal, the method of autonomically governing cloud computing infrastructures is investigated within CREMA ‡. Another optimisation approach for simple sequential elastic processes applies a predictive strategy based on load forecasts. More complex process patterns like XOR-blocks, AND-blocks, or Repeat Loops remain to be a challenge, even though these process patterns are very common in real-world business processes. Despite being an important cost factor, penalty cost as well as the Billing Time Unit, which expresses the cost per leasing period for cloud-based computational resources, are only considered within the most recent optimisation work‡, which defines optimisation to find an optimal solution for complex elastic processes. Since optimisation of elastic processes is an NP-hard problem, one particular issue is to find solutions to the optimisation problem in polynomial time. Process landscapes can become very large, comprising literally thousands of process models and instances. Also, these process landscapes are dynamic and volatile, i.e., ever-changing, requiring replanning during process runtime. Hence, it is necessary to implement heuristical approaches, which are able to schedule processes and allocate resources in a dynamic and real-time way.
Inter-organisational manufacturing processes are the primary way of interaction between companies in the manufacturing settings CREMA investigates. Hence, supporting real-world manufacturing processes by their virtualised, software-based counterparts is of primary interest in CREMA. Especially, CREMA does groundbreaking research with regard to process optimisation (both in the real world and regarding the usage of Cloud-based computational resources), and provides the means for the "servitisation" of manufacturing processes, which can then be used within elastic manufacturing processes.
In the work at hand, we propose an alternative to the provision of fixed resources, based on automatic leasing and releasing of Cloud‐based computational resources. For this, we present an integrated approach which addresses the cost‐driven optimization of Cloud‐based computational resources for business processes in order to realize so‐called Elastic Processes. Through an evaluation, we show the practical applicability and benefits of our contributions. Speesource-intensive tasks are playing an increasing role in business processes. The emergence of Cloud computing has enabled the deployment of such tasks onto resources sourced on-demand from Cloud providers. This has enabled so-called elastic processes that are able to dynamically adjust their resource usage to meet varying workloads.Traditional Business Process Management Systems (BPMSs) do not consider the needs of elastic processes such as monitoring facilities, tracking the current and future system landscape, reasoning about optimally utilizing resources given Quality of Service constraints, and executing necessary actions (e.g., start/stop servers, move services). This paper introduces ViePEP, a research BPMS capable of handling the aforementioned requirements of elastic processes.cifically, we find that our approach substantially reduces the cost compared to an ad hoc approach.