Abstract
As it has been the case with other technologies, the availability of Service-based Business Processes (SBPs) in the Cloud allows imagining new usage scenarios. Typically, these scenarios include the execution of thousands of processes during a very short period of time requiring temporarily a very important amount of resources. Novel and innovative approaches for modeling of business processes should be developed to allow supporting these scenarios and others in a safer and cost-effective way. For instance, it is necessary to define strategies to scale resource consumed by business processes up and down to ensure their adaptation to the workload changes. In this paper, we focus on how to model and evaluate SBPs elasticity strategies. We propose an analytical model based on queuing model with variable number of servers to represent SBPs adaptation to demands’ variation. We consider a queuing model as Markov chain to evaluate elasticity strategies in the steady state, and to calculate the indices of performance. Our analytical model allows Cloud providers to evaluate and decide about the elasticity strategy to consider before implementing it in real environments.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Cloud Computing is a model for enabling ubiquitous, convenient, on demand network access to a shared pool of configurable computing resources. These resources should be rapidly provisioned and released with minimal effort and service provider interaction [7]. Services in this paradigm are basically delivered under three layers, which are: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).
Cloud services can be provided with the elasticity property which allows these services to adapt their resources usage according to demands evolution while maintaining the desired QoS. The elasticity of a Cloud service is the ability to large scale dynamically, without requiring a reset and without causing side effects (loss of QoS). The provisioning of resources may be made using horizontal or vertical elasticity. Vertical elasticity increases or decreases the resources of a specific Cloud service while horizontal elasticity adds and removes instances of Cloud services.
Cloud environments are being increasingly used for deploying and executing business processes and particularly Service-based Business Processes (SBPs) that are made of components that provide business services. As it has been the case with other technologies, the availability of SBPs in the Cloud allows imagining new usage scenarios. Typically, these scenarios include the execution of thousands of processes during a very short period of time requiring temporarily a very important amount of resources. Novel and innovative approaches for modeling of business processes should be developed to allow supporting these scenarios and others in a safer and cost-effective way. For instance, it is necessary to define strategies to scale resource consumed by business processes up and down to ensure their adaptation to the workload changes.
In this work, we deal with provisioning of horizontal elasticity of SBPs. This can be achieved by providing Cloud environments with elasticity mechanisms allowing scaling up and down deployed SBPs. To scale up a SBP, elasticity mechanisms must add new copies of some services of the considered SBP. To scale down a SBP, these mechanisms should remove the useless copies of services.
Many strategies can be used to manage SBPs elasticity. These strategies decide about when, where and how execute elasticity actions. Some of them are reactive and some others are predictive. Thus, it is necessary to evaluate these elasticity strategies before implementing them in real Cloud environments to ensure their effectiveness. In our work, we are interested on reactive strategies. Actually, we have already presented as a first step, formal model of SBPs elasticity based on queuing theory with a dynamic number of servers and metrics to calculate to evaluate elasticity strategies [13].
In this paper, we address the elasticity of SBPs in the Cloud and especially the evaluation of elasticity strategies. To do this, we proposed an analytical model for strategies evaluation. In the proposed model, services are modeled as queue, and a SBP is modeled as a network of queues. We use queuing theory with variable number of servers to represent SBPs adaptation to demands’ variation. We consider a queuing model as Markov chain to evaluate elasticity strategies, and calculate performance metrics. Finally, we show the results of experiments. The proposed analytical model allows Cloud providers to evaluate and decide about the elasticity strategy to consider before it deployment and use in real environments.
The paper is organized as follows: Sect. 2 discusses related works. Then, Sect. 3 presents a formal model for SBPs elasticity. We present in Sect. 4, our analytical approach for the evaluation of SBPs elasticity. Section 5 shows the experimental results. Finally, Sect. 6 concludes this paper and gives future work.
2 Related Works
A number of research studies have addressed challenges of elasticity in cloud environments.
In [11], the authors consider scaling at both the service and application levels in order to ensure elasticity. They discuss the elasticity at the service level as we did in our approach. Nevertheless, the correctness of the proposed mechanisms is not proved.
In [6], the authors present a framework for modeling and reasoning about non-functional properties that should reflect elasticity of deployed business services. As defined, the elastic properties and mechanisms can tackle any application, since the characteristics of business processes are not considered in the proposed approach. Contrary to our approach, the elasticity mechanism serves all the deployed processes.
In [5], the authors present an approach that consists in producing a model for an elastic SBP which is the result of the composition of the SBP model with models of mechanisms for elasticity. Contrary to our approach, the proposed approach requires an effort from the designer. In addition, the proposed approach changes the nature of the considered SBP.
Replication mechanisms have been widely considered in the areas of service adaptation (in order to ensure QoS), service availability and fault tolerance [3, 12], but the proposed mechanisms allow the replication of the entire SBP, while the bottleneck may come from some services.
Cloud computing has attracted considerable research attention, but only a small part of the work done addressed performance issues, and rigorous analytical approach has been adopted by only a few. Authors of [4] model a cloud server as a \(M/G/m/m+ r \) and they propose an analytical technique based on an approximate Markov chain model for performance evaluation of a cloud computing center. Contrary to our approach, the number of server is fixed.
In [10], the authors propose a queue M/M/m that allows the performance study of the deployed applications in Cloud infrastructure under different rules of elasticity. In the proposed model, the number of servers is variable according to load variation.
In [8], the authors focus on ensuring elasticity for jobs highly paralleled on a cloud cluster. They present a queue M/G/1/K used to determine the optimal number of cloud resources necessary to satisfy the response time constraint. In [9], the authors proposed a provisioning system where they present a G/G/1 queuing model to determine the number of servers needed to serve expected workload over time. All these approaches allow to ensure elasticity at application level, but they do not allow to ensure elasticity at service level.
In [1], the authors propose a Petri net model for ensuring SBPs elasticity based on duplication and consolidation mechanisms. In [2] they provided a framework for the evaluation of elasticity strategies using model checking and simulation techniques.
In [13], we proposed to model SBPs elasticity using queuing model system with variable number of services copies to represent SBPs adaptation to demands variation and to provide a duplication and a consolidation mechanisms. In this work, the main idea is to propose an analytical model based on queuing model with variable number of servers to represent SBPs adaptation to demands’ variation and to evaluate elasticity strategies.
3 A Formal Model for SBPs Elasticity
A SBP is a business process that consists in assembling a set of elementary IT-enabled services. These services carry out the business activities of the considered SBP. Assembling services into a SBP can be ensured using any appropriate service composition specifications (e.g. BPEL).
Elasticity of a SBP is the ability to duplicate or consolidate as many instances of the process or some of its services as needed to handle the dynamic of received requests. Indeed, we believe that handling elasticity does not only operate at the process level, but it should operate at the level of services too. It is not necessary to duplicate all the services of a considered SBP, while the bottleneck comes from some services of the SBP.
In our work, we are interested in the evaluation of SBPs elasticity. In this context, queuing models seem to be an interesting model that allows modeling and performance evaluation of SBPs elasticity. However, since we aim in this work to deal with SBP adaptation according to load variation, the classical queuing models are not suitable. In fact, these models use a fixed number of servers and do not allow the variation of the number of servers. To resolve this, we proposed in [13] to use a queuing model system with a dynamic number of servers to model SBPs elasticity. The proposed model allows changing the number of used servers depending on some metrics (queue length, etc.), in order to have the minimum and sufficient number of servers that ensure the required QoS. To do this, new servers are added only, when needed and removed once they are useless.
In our model, each basic service of the SBP is represented by a queue. The SBP will be represented by a network of queues. When an invocation of a service arrives, it is directed to the service queue. When a service has a lot of invocations, it will be overloaded and this can leads to degradation of QoS. A solution to this overflow problem is to duplicate the service in order to increase service capacity and maintain the desired QoS despite the increased load. When a service has few invocations, it will use more resources than required for the same QoS. A solution to that is to consolidate the service in order to avoid under utilization of resources. Note here, that when we have more than one copy of a service, we have to define a load balancing strategy that decides about the way a service call is transferred over the set of service copies (Round Robin, Random, etc.).
Duplication and consolidation operations are executed as many times as necessary, in order to ensure a proper working of the deployed SBP. The duplication of a service consists in the creation of a new copy of this service, ensuring the QoS. The consolidation of a service is the removing of an unnecessary copy of this service, in order to avoid under utilization of resources.
The example of Fig. 1 presents a SBP for an online computer shopping service composed of five services and modeled in BPMN:
-
Requests Service (S1): receives requests to purchase a computer.
-
Components assembly Service (S2): performs the assembly of computer components according to the desired characteristics.
-
Test Service (S3): performs tests of the computer.
-
Invoice Service (S4): creates the invoice related to the purchased computer.
-
Delivery Service (S5): delivers the computer with its invoice to the customer.
In this example, we propose to model the SBP example shown in Fig. 1(a). The queuing model of this SBP is represented in Fig. 1(b). In Fig. 1(c) we have the resulted model after the duplication of services S1, S2, S3. In Fig. 1(d), we have the resulted model after the consolidation of services S1, S2, S3. As mentioned previously, in order to manage SBPs elasticity (i.e., execution of duplication/consolidation operations), many strategies can be used. A strategy is responsible for making decisions on the execution of the duplication/consolidation mechanisms (i.e., deciding when, where and how to execute these operations). The abundance of possible strategies require their evaluation before using them in a real Cloud environment, in order to guarantee their efficiency in enhancing SBP’s performance. Defining an elasticity strategy is a key challenge, since it requires to choose the appropriate metrics and values, in order to maintain the QoS while reducing operational costs.
Elasticity strategies can be reactive or proactive. Reactive strategies are based on rules mechanisms (e.g. Event-Condition-Action rules), while predictive strategies are based on predictive-performance models and load forecasts. Generally, these strategies use performance metrics to make their decisions (i.e., elasticity indicators). In our model, we can use different performance information as metrics in order to take elasticity decisions. For example, we can use information about the length of the queue, the average waiting time, the number of arrivals (invocations), the number of clients, etc.
4 The Proposed Analytical Model
As introduced in [13], we model SBPs using a queuing model \(M/M/N/r + N\), its specificity is the dynamic number of servers.
In our model, each basic service of the SBP will be represented by a queue \(M/M/N/r + N\), where:
-
M: the interarrival time of requests is exponentially distributed with average value of \(\lambda \).
-
M: the services processing time follows an exponential law with the average value of \(\mu \).
-
N: the service under consideration contains N servers, which represents the number of copies of the considered service (initially there is a single copy of each service), in order to handle request arrivals (First Come First Served).
-
\(r+N\): the service capacity which means that the buffer size for invocations is equal to r.
Using this model, we can represent elasticity adaptation of SBPs by adding or removing copies of services. In our model, the number of copies of services is controlled by an elasticity strategy that uses the length of the queue as an elasticity metric. On one hand, when the number of invocations in the queue exceeds k (k = threshold), we add a copy of service, when it exceeds 2k, we add another copy of service, when it exceeds ik we add \((i+1)^{th}\) copy of service (\(i=0,1,2,...,n\)). On the other hand, when the number of invocations in the queue decreases and is less than ik, the \((i + 1)^{th}\) copy of the service is removed. Considering this strategy, we can represent the length of the queue in this form: \(ik+j\) \((j=0,...,k)\), and the number of invocations in the system in this form: \(ik+j+(i+1)\).
In order to allow the evaluation of elasticity strategies, a queuing system \( M/M/N/r+N \) can be considered as a Markov process, which can be analyzed by exploiting the Markov chains. We model the number of invocations in the system (those in service and those waiting to be served); if these invocations are enumerated as: \(0,1, 2, \dots r+N\), a homogeneous Markov chain is obtained. Therefore, the Markov chain observed the state of the system.
Let, \(P_i\) be the steady state probability to have i invocations in the system.
Our queuing model \( M/M/N/r + N \) is represented by the graph with transition rates (in Fig. 2) associated to the markov chain to our system, where each arrival of a new invocation is assimilated to a birth, and each departure of an invocation being served assimilated to a death.
4.1 Calculations of Probabilities
To derive various performance indices of the model in the steady state, we must first calculate the stationary probabilities. The corresponding Markov chain to the graph transition rates, shown in Fig. 2, is aperiodic and irreducible, therefore, the Markov chain is ergodic and consequently, it admits a steady state where stationary probabilities exist. At steady state, the inflow of each state of the chain is equal to the outflow of this state (the principle of Chapman-Kolmogorov). Applying this rule, the equations system is obtained as follows, it is assumed that: \(\rho =\dfrac{\lambda }{\mu }\), then:
We solved these equations by recurrence in general case of a process of birth and death, birth rates and dead respective \( \lambda \) and \( \mu \), the formula of probability is:
The sum of the probabilities is equal to 1, from this we can calculate \(P_0\):
Simplifying, we obtain:
First case: \(\rho \ne i+1 \)
Second case: \(\rho = i+1 \)
4.2 Fundamental Parameters of Performance of the Queuing Model
Once we have the stationary probabilities, we calculate the performance indices of the model of each queue of SBP.
Average Number of Copies of Services \({{\varvec{S}}}\) . It is an important parameter of our analyze. This parameter is about the number of copies of services in our system. It will allow us to evaluate how efficient is the resources allocation by the strategy to face the variation of the SBP solicitations.
Average Response and Waiting Time. The average waiting time will allows us to evaluate the influence of the implemented strategy on the invocations waiting time according to the evolution of invocations arrival. Before calculating the average waiting time in the queue and average response time, we start by calculating the average number of invocations in the system and in the queue.
The average number of invocations in the system can be obtained as:
The average number of invocations in the queue can be obtained as:
The average time spent in the system and average waiting time are obtained by the formula of Little. Let W be average time spent in the system in the steady state, and similarly let \(W_q\) be the average waiting time in the queue.
Rate of Lost Invocations. As we have a finite capacity system (i.e., there is blocking, etc.), let us define the rate of lost invocations \(R_c\). When the capacity of the queue or system is reached, invocations which came later are rejected, the rate of lost invocations can be obtained as follows:
5 Experimentation
In order to study the performance of elasticity strategies, we performed several experiments. We apply our approach on the service of SBP. The described experiments are performed using the values which are shown in the following. We used an exponential process to define a scenario of calls arrival on the service and the service processing time follows an exponential law. In Fig. 3, we assume that “\(\lambda =0,5\)” and “\(\mu =0,25\)” and in Fig. 4 “\(\lambda =0,2\)” and “\(\mu =0,25\)”. The equations of performances parameters presented above have been solved numerically using a program written in C.
To evaluate performances, we vary the threshold k. We study the evolution of several metrics from obtained steady-state probabilities. To evaluate the efficiency of the strategy, we focused on the following metrics:
-
1.
Number of calls arrival in a time unit.
-
2.
Number of copies of services S.
-
3.
Average calls waiting time.
-
4.
The cost of waiting time, resources that would let us identify which strategy is the best. Assuming that the best strategy is the one with the lowest cost.
When we take \(k = 1\), a new copy is created for each invocation, so the waiting time and the number of waiting invocations are equal to zero.
Figures 3(a) and 4(a) show the scenario of calls arrival according to \(\lambda \) (respectively 0, 5 and 0, 2). The number of copies of services depends on the number of arrival. It varies according to the arrival of the invocations. In some cases, we can say that a strategy is better than another. For example in Figs. 3(d) and 4(d) the strategy with \(k=2\) is better than others, and that is true whatever the arrival law. Also we can find for each arrival law a better strategy. In Fig. 3(g), the strategy with \(k=7\) is better in contrast to the Fig. 4(g), where the best strategy is the one with \(k=10\).
From this, we can say that the best strategy depends on the arrival law and the time of service.
Regardless of the number of arrival, the small threshold k provides better performance standpoint response time, waiting time, ... , but we can see in our study that many resources have been provided when the threshold is small. The QoS is affected because of execution of duplication/consolidation process many times. The threshold should be chosen according to the resources that the provider can deploy and also their capacities. When we have a large number of arrival and we use strategies with a small k, there may have a loss of calls because of the unavailability of necessary resources.
6 Conclusion
This paper proposed a formal model for evaluating SBPs elasticity strategies. Our goal is to be able to evaluate the performance of elasticity strategies, and forecast the best strategy according to the case. The modelling is based on queuing model system with variable number of servers. The number of deployed services is dynamically adjusted based on demands variation and according to the implemented elasticity strategy. To evaluate the performance parameters of elasticity strategies, we proposed also an analytical approach. The model was evaluated and experimental results show the performance variations under different values of the threshold k and the influence of the arrival process on the strategy. As a future work, we plan to propose a formal model to evaluate elasticity while considering different strategies and performance metrics.
References
Amziani, M., Melliti, T., Tata, S.: A generic framework for service-based business process elasticity in the cloud. In: Barros, A., Gal, A., Kindler, E. (eds.) BPM 2012. LNCS, vol. 7481, pp. 194–199. Springer, Heidelberg (2012). doi:10.1007/978-3-642-32885-5_15
Amziani, M., Melliti, T., Tata, S.: Formal modeling and evaluation of service-based business process elasticity in the cloud. In: WETICE (2013)
Chrysoulas, C., Kostopoulos, G., Haleplidis, E., Haas, R., Denazis, S., Koufopavlou, O.: A decision making framework for dynamic service deployment. In: ISTMWC (2006)
Khazaei, H., Misic, J.V., Misic, V.B.: Performance analysis of cloud computing centers using M/G/m/m+r queuing systems. IEEE Trans. Parallel Distrib. Syst. 23(5), 936–943 (2012)
Klai, K., Tata, S.: Formal modeling of elastic service-based business processes. In: IEEE SCC, pp. 424–431 (2013)
Lê, L.S., Truong, H.L., Ghose, A., Dustdar, S.: On elasticity and constrainedness of business services provisioning. In: IEEE SCC, pp. 384–391 (2012)
NIST: Final Version of NIST Cloud Computing Definition Published (2011). http://www.nist.gov/itl/csd/cloud-102511.cfm
Salah, K.: A queueing model to achieve proper elasticity for cloud cluster jobs. In: Proceedings of the 2013 IEEE Sixth International Conference on Cloud Computing (CLOUD 2013), pp. 755–761. IEEE Computer Society (2013)
Singh, R., Sharma, U., Cecchet, E., Shenoy, P.J.: Autonomic mix-aware provisioning for non-stationary data center workloads. In: Parashar, M., Figueiredo, R.J. (eds.) ICAC, pp. 21–30. ACM (2010)
Suleiman, B., Venugopal, S.: Modeling performance of elasticity rules for cloud-based applications. In: EDOC 2013, Washington, DC, pp. 201–206 (2013)
Tsai, W.T., Sun, X., Shao, Q., Qi, G.: Two-tier multi-tenancy scaling and load balancing. In: ICEBE, pp. 484–489 (2010)
Weissman, J.B., Kim, S., England, D.: A framework for dynamic service adaptation in the grid: next generation software program progress report. In: IPDPS. IEEE Computer Society, Los Alamitos (2005)
Yataghene, L., Amziani, M., Ioualalen, M., Tata, S.: A queuing model for business processes elasticity evaluation. In: IWAISE, pp. 22–28. IEEE (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Yataghene, L., Ioualalen, M., Amziani, M., Tata, S. (2017). Using Formal Model for Evaluation of Business Processes Elasticity in the Cloud. In: Drira, K., et al. Service-Oriented Computing – ICSOC 2016 Workshops. ICSOC 2016. Lecture Notes in Computer Science(), vol 10380. Springer, Cham. https://doi.org/10.1007/978-3-319-68136-8_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-68136-8_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-68135-1
Online ISBN: 978-3-319-68136-8
eBook Packages: Computer ScienceComputer Science (R0)