IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS, VOL. 45, NO. 4, APRIL 2015
549
A Modeling Approach for Cloud Infrastructure Planning Considering Dependability and Cost Requirements Erica Sousa, Student Member, IEEE, Fernando Lins, Member, IEEE, Eduardo Tavares, Member, IEEE, Paulo Cunha, Member, IEEE, and Paulo Maciel, Member, IEEE
Abstract—Cloud computing is a model in which resources such as storage, applications, and networking infrastructures can be offered as services over the internet. Cloud applications are becoming even bigger and more complex with a high availability requirement. This paper presents a modeling strategy based on a hierarchical and heterogeneous modeling for cloud infrastructure planning. This modeling strategy allows the selection of cloud infrastructures according to dependability and cost requirements. Additionally, a stochastic model generator for cloud infrastructure planning provides automatic generation of dependability and cost models for representing cloud infrastructures. A case study based on Moodle hosted on a Eucalyptus platform is adopted to demonstrate the feasibility of the proposed solution (modeling strategy and tooling). Index Terms—Cloud computing, cost evaluation, dependability evaluation, hierarchical and heterogeneous modeling, reliability block diagram (RBD), stochastic Petri net (SPN).
I. I NTRODUCTION LOUD applications, which implement critical business functionalities for many enterprises, demand highly available infrastructures at affordable costs. This high availability can be provided through the allocation of different redundancy mechanisms to components of the cloud infrastructures. As a consequence, a major issue is related to the suggestion of a feasible IT infrastructure according to dependability and cost requirements [2], [7], [19]. Dependability and cost modeling have been widely adopted as an essential activity for improving infrastructure planning and reducing the services cost [19]. There are two major categories of dependability models: combinatorial models [e.g., reliability block diagram (RBD)] [35] and state-space
C
Manuscript received January 22, 2014; revised May 14, 2014; accepted August 15, 2014. Date of publication September 30, 2014; date of current version March 13, 2015. This paper was recommended by Associate Editor Z. Li. E. Sousa is with the Center of Informatics, Federal University of Pernambuco, Recife 50.740-560, Brazil, and also with the Department of Statistics and Informatics, Federal Rural University of Pernambuco, Recife, Brazil (e-mail:
[email protected]). F. Lins is with the Department of Statistics and Informatics, Federal Rural University of Pernambuco, Recife 52171-900, Brazil (e-mail:
[email protected]). E. Tavares, P. Cunha, and P. Maciel are with the Center of Informatics, Federal University of Pernambuco, Recife 50.740-560, Brazil (e-mail:
[email protected];
[email protected];
[email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TSMC.2014.2358642
models [e.g., stochastic Petri net (SPN)] [12], [30], besides stochastic simulation. The former captures conditions that make a system fail (or to be working) in terms of structural relationships between the system components. The latter corresponds to the system behavior (failures and repair activities) by its states and event occurrence expressed as labeled state transitions. Labels can be probabilities, rates or distribution functions [19]. The cost model is an equation that provides the costs of different redundancy modules assigned to components of the cloud infrastructures. Hierarchical and heterogeneous modeling allows the composition of simpler models based on state-space and combinatorial models in order to mitigate problems related to representing larger systems as cloud infrastructures [19]. The major contribution of this paper is a modeling strategy based on a hierarchical and heterogeneous modeling for cloud infrastructure planning. Other important contribution are models based on state-space models such as SPN [12], [30] and combinatorial models such as RBD [35] for representing cloud applications. These heterogeneous models are hierarchically combined to depict the dependencies between components of the cloud infrastructure. The modeling approach allows the evaluation of cloud infrastructures with different redundancy mechanisms concerning dependability and cost requirements. Then, as further contribution, the modeling strategy allows for the selection of cloud infrastructures according to this evaluation. The last contribution is the stochastic model generator for cloud infrastructure planning (SMG4CIP), that implements the modeling strategy. This paper is organized as follows. Section II shows the related work and Section III introduces an overview of basic concepts. Section IV exhibits the proposed modeling strategy and Section V demonstrates the dependability and cost models. Section VI describes the SMG4CIP. Section VII exposes a case study and some experimental results. Finally, Section VIII shows concluding remarks and future works. II. R ELATED W ORK Over the last years, some works have been intended to evaluate dependability of cloud infrastructures. Wei et al. [10] show a hierarchical method based on heterogeneous models, combining RBD and SPN for dependability evaluation of a virtual data center (VDC). In this method, a top-level
c 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. 2168-2216 See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
550
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS, VOL. 45, NO. 4, APRIL 2015
model based on the RBD defines the VDC infrastructure and a low-level model based on SPN contemplates the components of the VDC in failure and repair state. Dantas et al. [18] produce a hierarchical and heterogeneous modeling to depict redundant architectures and compare their availability taking in account computers acquisition costs. In this modeling strategy, a high-level model based on RBD denotes the Eucalyptus platform subsystems and a low-level model based on Markov chains represents the respective subsystems employing warmstandby replication. Ram et al. [24] investigate the availability of a redundant system through the supplementary variable technique and Laplace transformation. Other works conceive the cost evaluation of cloud infrastructures. Martens et al. [8] show that the analysis of relevant cost types and factors of cloud computing services is an important pillar of decision-making in cloud computing management. In this way, such paper presents a total cost of ownership (TCO) approach for cloud computing services. Li et al. [34] provide metrics and equations for calculating the cloud TCO and utilization cost, considering the elastic feature of cloud infrastructure and the adopted virtualization technology. That paper provides a foundation for evaluating economic efficiency of cloud computing and it provides indications for cost optimization of cloud computing infrastructures. Differently from previous studies, this paper proposes a modeling strategy based on a hierarchical and heterogeneous modeling for cloud infrastructure planning. This work also provides dependability and cost models for representing cloud infrastructures. The modeling strategy allows the selection of cloud infrastructures according to dependability and cost requirements. This modeling strategy is implemented through the SMG4CIP. III. P RELIMINARIES This section introduces an overview of relevant concepts for a better understanding of this paper. A. Cloud Platform Eucalyptus is an open-source cloud computing platform that allows the creation of private clusters in enterprise datacenters [4]. Eucalyptus provides API compatibility with the most popular commercial cloud computing infrastructure, namely, Amazon Web Services (AWS) [13], which allows management tools to be adopted in both environments. This framework is designed for compatibility across a broad spectrum of Linux distributions (e.g., Ubuntu, RHEL, OpenSUSE) [13] and virtualization hypervisors (e.g., KVM, Xen) [13]. The Eucalyptus system is composed of several components that interact through interfaces [13]. There are four major components, each with a web-service interface [14]. 1) Cloud Controller (CLC): The CLC is the entry-point into the cloud computing for users and administrators. It queries node managers for information about resources, performs high-level scheduling decisions, and implements them by making requests to cluster controllers. 2) Cluster Controller (CC): The CC acts as a gateway between the CLC and individual nodes in the data center. This component collects information on schedules and execution
of virtual machine (VM) on specific node controllers and manages the virtual instance network. The CC must be in the same Ethernet broadcast domain as the nodes it manages. 3) Node Controller (NC): The NC contains a pool of physical computers that provides generic computational resources to the cluster. Each of these physical machines contains a NC service that is responsible for controlling the execution, inspection, and termination of VM instance. The NCs also configure the hypervisors and host OSs as defined by the CC. Each NC executes in the host domain (in KVM) or driver domain (in Xen) [4]. 4) Storage Controller (SC): The SC is a put/get storage service that implements Amazon’s S3 interface, providing a mechanism for storing and accessing VM images and user data. Eucalyptus platform supports different VMs. The computational resources can be allocated to these VMs according to client demands [13], [14]. B. Dependability Evaluation The dependability of a system can be understood as the ability to deliver a set of services that can be justifiably trusted. Indeed, dependability is related to disciplines such as availability, reliability and downtime [17], [35]. Reliability is the probability that the system will deliver its respective service of system at t until t [29], whereas a system is fault tolerant when it does not fail even when there are faulty components. Steady state availability, such that it is possible to estimate the long-term fraction of time the system is available [29]. Dependability metrics (e.g., availability, reliability, and downtime) might be calculated by using both combinatorial models and state-space based models. RBDs depict system components through a set of blocks and provide equations, so the results are usually obtained faster than using SPN simulation or numerical analysis performed in SPNs or continuoustime Markov chains (CTMCs) [29]. Nevertheless, when facing the description of dynamic redundancy mechanisms, such models experience drawbacks concerning the thorough handling of failures, activations, and repairing dependencies [35]. On the other hand, state-space based models can consider those dependencies, which allows to represent complex redundant mechanisms. However, such methods are more complex and suffer from the state-space explosion. Some of those formalisms allow both numerical analysis and stochastic simulation and SPN is one of the most prominent models of such class [29]. If one is interested in calculating the availability (A) of a given device or system, he/she might need either the uptime and downtime or the time to failure (TTF) and time to repair (TTR). Considering that the uptime and downtime are not available, the later option is the mean. If the evaluator needs only the mean value, the metrics commonly adopted are mean time to failure (MTTF) and mean time to repair (MTTR). The availability (A) is obtained by steady-state analysis or simulation and the following equation expresses the relation concerning MTTF and MTTR: A=
MTTF . MTTF + MTTR
(1)
SOUSA et al.: MODELING APPROACH FOR CLOUD INFRASTRUCTURE PLANNING
Fig. 1.
551
Simple model—SPN.
The reliability (R) is computed by R(t) = P(T ≥ t) in which T is the random variable representing the TTF of the system (or a single component). Indeed, R(t) = 1 − F(t), such that F(t) = P(T < t) is the cumulative distribution function describing the probability that a failure takes place before time t. Through transient analysis or simulation, the reliability (R) is obtained and then, the MTTF can be calculated ∞ R(t)dt. (2) MTTF =
Fig. 2.
Serial composition of two basic components. TABLE I T RANSITIONS ’ G UARDED E XPRESSIONS OF S ERIAL C OMPOSITION
0
Taking into account UA = 1 − A (unavailability) and (1), the required MTTR may be estimated for achieving the specified A UA . (3) A 1) Stochastic Petri Net: Petri nets (PNs) [32] are a family of formalisms very well suited for modeling several system types, since concurrency, synchronization, communication mechanisms as well as deterministic, and probabilistic delays are naturally depicted. PNs are a useful tool that can deal with cloud computing systems [20], [25] and other systems, particularly, e-commerce systems [39], web services [28], [36], [38], automated manufacturing systems [16], [37], [40], [41], or generally, discrete event systems [31]. In general, PNs are a bipartite directed graph, in which places (notated by circles) denote local states and transitions (depicted as rectangles) reflect actions. Arcs (directed edges) connect places to transitions and vice-versa. This paper adopts a particular extension, namely, SPNs [3], which allows the association of probabilistic delays to transitions using the exponential distribution, and the respective state space is isomorphic to CTMCs [19]. Fig. 1 depicts the simple component model using SPN. The delay assigned to transition F is the MTTF and the delay of transition R is the MTTR. SPN allows the adoption of simulation techniques for obtaining dependability metrics, as an alternative to the Markov chain generation. Two components in a serial composition mean that if just one of them fails then the whole composition also fails, i.e., the system is operational if both components are operational. As an example, an equipment named Device that is composed of two basic nonredundant components, C1 and C2, arranged in a series. Places Device_Up and Device_Down represent operational and failure states, respectively (see Fig. 2). In order to completely specify the aggregation component model, it is necessary to define enabling functions, through guarded expressions, associated to immediate transitions: MTTR = MTTF ×
Device_Repair and Device_Failure. The guard expression of transition Device_Failure is represented by the condition that describes a failure state. Likewise, the guard expression associated to the transition Device_Repair is defined by the logic expression that describes the conditions referring to the operational state. Table I shows the guarded expressions of the serial composition depicted in Fig. 2. The simplest example of redundancy could be achieved by combining two devices in a parallel configuration. This composition only fails if both components fail. Similar to the serial composition, the parallel composition is depicted by the expressions defined in the guard functions of immediate transitions of an aggregation component model. In this composition, the system is operational if at least one of those equivalent components is operational. 2) Reliability Block Diagram: RBD [35] are a combinatorial model that was initially proposed as a technique for calculating reliability on large and complex systems using intuitive block diagrams. The blocks (e.g., components) are usually arranged using the following composition mechanisms: series, parallel, bridge, k-out-of-n blocks, or a combination of previous compositions. Considering n components in a serial and parallel composition, the system reliability R can be computed through the following equations, using RBD [29]: R=
n
Ri
(4)
i
R = 1−
n
(1 − Ri ).
(5)
i
IV. M ODELING S TRATEGY FOR C LOUD I NFRASTRUCTURE P LANNING This section shows up the modeling strategy (see Fig. 3) for stochastic model generation regarding suggestion of cloud infrastructures, according to dependability and cost
552
Fig. 3.
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS, VOL. 45, NO. 4, APRIL 2015
Modeling strategy for cloud infrastructure planning.
requirements. Basically, the modeling strategy is divided into five activities: dependability and cost planning; dependability evaluation; cost evaluation; analysis of dependability and cost scenarios; and selection of dependability and cost scenarios. The first activity concerns the generation of scenarios through the attribution of redundancy mechanism types (e.g., none, cold standby—cold, hot standby—hot, and warm standby—warm) to components of the cloud infrastructure (e.g., CLC, CC, NC, VM, switch—SW, and router—RT). It allows the creation of cloud infrastructures with different redundancy mechanism types. As an example, the redundancy mechanisms (cold, cold, none, warm, hot, none) can be attributed to the cloud infrastructure components (CLC, CC, NC, VM, SW, and RT). Dependability evaluation activity adopts heterogeneous and hierarchical modeling to denote cloud infrastructures with different redundancy mechanisms types. This modeling considers the advantages of both SPNs and RBDs to mitigate the complexity for representing cloud infrastructures. Essentially, this modeling aims to adopt the most suitable model for representing the cloud infrastructure subsystems and combining the results so as to obtain the result of the cloud infrastructure model evaluation. In this activity, the cloud infrastructure components are grouped in order to generate subsystems, which are adopted to mitigate the complexity of the cloud infrastructure model evaluation. For each subsystem, the MTTF and MTTR are computed. After obtaining the MTTF and MTTR, a subsystem model is generated for representing the cloud infrastructure subsystem. The subsystem model is based on RBD or SPN [12], [30], [35] depending on the subsystem structure. This model is based on SPN when denotes dependency relationships between the cloud infrastructure components. On the other hand, this model is based on RBD when it does not describe dependency relationships between the cloud infrastructure components [29]. Afterwards, this activity constructs a cloud infrastructure model by composing the subsystem models. This cloud infrastructure model is based on SPNs [12], [30]. The proposed tool,
Fig. 4.
Hierarchical composition.
which will be explained later, adopts the Mercury tool [9] to generate RBD and SPN models that depict cloud infrastructures. Mercury tool provides an integrated environment for supporting dependability and sustainability evaluation of data center infrastructures. This tool contemplates combinatorial (i.e., RBD) and state-based models (e.g., SPN) as well as higher-level mechanisms to allow the dependability evaluation using the most appropriate technique [9]. Mercury tool has been conceived to evaluate data center infrastructures, but the environment is generic enough to evaluate general systems [9]. As an example, Fig. 4 shows a model based on RBD, depicting resources of the physical machines that compose the Eucalyptus platform [processor (A1), primary memory (A2), and secondary memory (A3)]. These resources are grouped in order to generate components. After obtaining the MTTF and MTTR, a model based on SPN is generated for representing the Eucalyptus platform component in cold standby. Cost evaluation activity denotes the costs of different redundancy modules assigned to components of the cloud infrastructures through an equation. After the generation of RBD models, SPN models and cost equations that represent cloud infrastructures, analysis of dependability, and cost scenarios activity allows the evaluation of dependability and cost models. The conceived tool evaluates the dependability and cost models through the Mercury [9] and provides the results of the dependability and cost metrics. In selection of dependability and cost scenarios activity, cloud infrastructures are suggested according to the results of the dependability and cost metrics. These results are used to provide cloud infrastructures that meet the dependability and cost requirements. V. M ODELS This section introduces the dependability and cost models and hierarchical composition of these models adopted by the proposed modeling strategy for quantifying dependability and cost of cloud infrastructures according to dependability and cost requirements.
SOUSA et al.: MODELING APPROACH FOR CLOUD INFRASTRUCTURE PLANNING
Fig. 5.
Eucalyptus model.
Fig. 6.
Hot standby model.
553
Fig. 7.
Cold standby model.
Fig. 8.
Warm standby model.
A. Dependability Models This section presents the models conceived for dependability evaluation of systems running on the Eucalyptus platform, more specifically, Eucalyptus model, hot standby model, cold standby model, and warm standby model. 1) Eucalyptus Model: Eucalyptus model is described via reliability block RBDs (that determine the overall Eucalyptus infrastructure state given the state of its components). Fig. 5 shows the adopted RBD for estimating the MTTF and MTTR of Eucalyptus infrastructure [CLC (A1), CC (A2), NC (A3), VM, and computational system (A5)]. 5Particularly, availability is estimated using expression As = i=1 Ai [29], in which Ai is steady state availability of an Eucalyptus infrastructure component, indicating that the system is operational when all components are operational [35]. 2) Hot Standby Model: In the hot standby redundancy, the faulty module is replaced without significant delay since the spare modules are also powered [19], [22], [35]. The hot standby model depicts the model in which an active single module has a hot standby spare. Fig. 6 shows the adopted RBD for estimating the MTTF and MTTR of a component with hot standby redundancy. Availability is estimated using the expression Ap = 1 − 2 i=1 1 − Ai [29], in which Ai is steady state availability of main component or spare component, meaning that the system is operational whenever at least one component is operational [22], [35]. 3) Cold Standby Model: A component with cold standby redundancy is based on a nonactive spare module that waits to be activated when the (main) active module fails. Hence, when the main module fails, the spare module’s activation takes a certain amount of time to be activated. This time period is named mean time to activate (MTA). As the spare component is switched off, it is considered that it does not fail until becoming operational [22], [35]. The cold standby model is depicted in Fig. 7. Places Component_ON, Spare_ON, Component_OFF, and Spare_OFF markings denote the operational and failure states of both the main and spare modules, respectively. The spare module (spare) is initially deactivated, since no tokens are initially stored in places Spare_ON and Spare_OFF. As the main module fails, the transition ActiveSpare is fired.
This transition ActiveSpare delay denotes the MTA and a marking in place WaitSpare denotes the spare module is not operational. Transitions MTTF_Component, MTTF_Spare, MTTR_ Component, and MTTR_Spare represent a failure as well as a repair and its delay depicts MTTF and MTTR, respectively. The MTTF and MTTR associated to the main module may be different from the spare one. We adopt the following statement for estimating availability: P{exp} indicates the probability of the inner expression (exp) where exp is #Component_ON = 1 OR #Spare_ON = 1 [6]. 4) Warm Standby Model: A component with warm standby redundancy is based on a nonactive spare module that waits to be activated when the active module fails. The difference with the cold standby redundancy is that the active and spare modules have failure rates λ and spare module has a failure rate φ when it is de-energized, considering 0 ≤ φ ≤ λ. The SPN model [1] (see Fig. 8) includes six places, Component_ON, Component_OFF, and their similar pairs. These pairs of places represent the activity and inactivity states of each component, respectively. Places Spare_ON and Spare_OFF depict the spare component of Component in nonoperational state. In turn, places OPSpare_ON and OPSpare_OFF portray the spare component in operational state. The spare component starts in the nonoperational state. As the main module fails, the transition ActiveSpare is enabled. Its firing represents
554
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS, VOL. 45, NO. 4, APRIL 2015
is composed of two submodules: requirements editor and solutions editor. The requirements editor allows the specification of the number of cloud infrastructure components, dependability, and cost requirements. This editor also generates scenarios through the attribution of redundancy mechanism types to components of the cloud infrastructure as described in the dependability and cost planning activity of the modeling strategy for cloud infrastructure planning. The solutions editor suggests cloud infrastructures according to the results of the dependability and cost metrics as described in the selection of dependability and cost scenarios activity of the modeling strategy for cloud infrastructure planning. B. Model Generator
Fig. 9.
Stochastic model generator for cloud infrastructure planning.
the start of operation of the spare component. This time period is named MTA. In turn, immediate transition DeactivateSpare denotes the return to normal operation after a failure. Transitions MTTF_Component, MTTF_Spare, MTTF_OPSpare, MTTR_Component, MTTR_Spare, and MTTR_OPSpare symbolize a failure as well as a repair and its delay represents MTTF and MTTR, respectively. This paper adopts the following statement for estimating availability: P{exp} indicates the probability of the inner expression (exp) where exp is #Component_ON = 1 OR #Spare_ON = 1 OR #OPSpare_ON = 1 [6]. Representing cold and warm standby redundancy through RBD is hard, since the system structure is dynamic, that is, it changes over time; and the time to activate the spare mechanism should be performed. Hence, the cold and warm standby redundancy models are SPN models [29].
The model generator is composed of two submodules: dependability model generator and cost model generator. The dependability model generator automatically creates the SPN and RBD models for representing the cloud infrastructures and redundant modules through the Mercury tool [9] as described in the dependability evaluation activity of the modeling strategy for cloud infrastructure planning. The cost model generator provides an equation for estimating the redundant modules costs as described in the cost evaluation activity of the modeling strategy for cloud infrastructure planning. These SPN and RBD models and equation are generated according to data provided by the requirements editor. C. Evaluator The evaluator module is composed of two submodules: dependability evaluator and cost evaluator. This module evaluates the SPN and RBD models and cost equation through the Mercury tool [9] and provides the results of the dependability and cost metrics as described in the analysis of dependability and cost scenarios activity of the modeling strategy for cloud infrastructure planning. D. Using the SMG4CIP Tool
B. Cost Model Equation (6) details the adopted cost model. More specifically, it contemplates the redundant components adopted in the cloud infrastructures [35]. N is the number of distinct component types, RCNi is the amount of a specific item (e.g., hot, cold, and warm standby module) and RCi is the respective unit cost N
RCNi × RCi .
(6)
i=1
VI. S TOCHASTIC M ODEL G ENERATOR FOR C LOUD I NFRASTRUCTURE P LANNING The proposed modeling strategy is implemented by the SMG4CIP (see Fig. 9), which is composed of three modules: 1) portal editor; 2) model generator; and 3) evaluator. A. Portal Editor The portal editor module is the web portal of stochastic model generator for cloud infrastructure planning. This module
This section reports the activities performed by each module of the SMG4CIP tool to suggest cloud infrastructures. 1) The users should provide the number of cloud infrastructure components (e.g., one CLC, two CCs, four NCs, four VMs, two switches, and two routers) and the dependability and cost requirements (e.g., an availability greater than 99% and a cost less than U.S.$ 100 000.00) through the requirements editor of the portal editor. 2) The model generator creates scenarios through the attribution of redundancy mechanism types (e.g., none, cold standby—cold, hot standby—hot, and warm standby— warm) to cloud infrastructure components (e.g., CLC, CC, NC, VM, switch—SW, and router—RT). As an example, the redundancy mechanisms (hot, none, none, warm, cold, none) can be attributed to the cloud infrastructure components (CLC, CC, NC, VM, SW, and RT). 3) The dependability model generator of the model generator describes the generated scenarios with RBD and SPN models. The Eucalyptus model (see Fig. 5) describes the cloud infrastructure components and the hot standby
SOUSA et al.: MODELING APPROACH FOR CLOUD INFRASTRUCTURE PLANNING
Fig. 12.
555
Cloud infrastructure.
VII. C ASE S TUDY Fig. 10.
Physical machine model.
Fig. 11.
Physical machine in cold standby model.
model (see Fig. 6), cold standby model (see Fig. 7), and warm standby model (see Fig. 8) depict the redundancy mechanisms. As an example, the resources of the physical machine that compose the Eucalyptus platform [processor (A1), primary memory (A2), and secondary memory (A3)] are grouped in order to generate a physical machine, which is a cloud infrastructure component. The resources of the physical machine are characterized through a RBD model. After obtaining the MTTF and MTTR, a SPN model is generated for representing the physical machine (see Fig. 10). Fig. 11 shows the SPN model of the physical machine in cold standby. 4) The cost model generator of the model generator represents the generated scenarios with a cost equation. 5) The SMG4CIP tool evaluates the availability of the SPN and RBD models through the dependability evaluator of the evaluator and calculates the redundancies costs through the cost evaluator of the evaluator. 6) The solutions editor of the portal editor compares the results of the availabilities and redundancies costs of the models and equation with the dependability and cost requirements, and selects the most appropriate cloud infrastructures considering the indication of the higher availability and lower redundancy cost provided through the users.
This section presents a case study to illustrate the feasibility of the suggested solution (modeling strategy and tooling), which is based on the cloud infrastructure planning for virtual learning environment, according to dependability and cost requirements. One of the major challenges for educational institutions that adopts virtual learning environment in their online and conventional courses is the planning of an adequate infrastructure to meet the users requests with acceptable availability. These educational institutions also should consider the financial aspects in the virtual learning environment planning, such as dependability and cost requirements. The Moodle is an example of virtual learning environment that provides chat, diary, quiz, forum, and glossary activities for online and conventional courses of educational institutions [23]. A. Scenario The adopted scenario consists in the Moodle hosted on Eucalyptus platform. This cloud platform [4] is considered, taking into account 49 physical machines distributed in three departments of an educational institution. Each department has a CC and 15 NCs (NC). The CLC and SC are on the same physical machine, CC are configured on three physical machines, whereas NCs are distributed on 45 physical machines. The VM with a dual-core processor, primary memory of 2 GB and secondary memory of 80 GB are instantiated on physical machines in which the NCs services (NC1–NC12) are executed. The Moodle [23], MySQL [26], Ubuntu [33], and Apache [5] are configured in these 45 VMs. Fig. 12 shows the cloud infrastructure. The SMG4CIP automatically implements the conceived modeling strategy aiming to suggest cloud infrastructures that meet the dependability and cost requirements of the educational institution. The requirements of the educational institution to meet the users requests of the Moodle are: an availability greater than 99.9% and a cost less than U.S.$ 200 000.00. The cloud infrastructures suggested through the SMG4CIP must fulfill these requirements. The educational institution provides information about cloud platform, number of physical machine, system architecture, dependability, and cost requirements through the portal editor of the SMG4CIP. These information are used to generate cloud infrastructures with different availabilities and costs through the assignment
556
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS, VOL. 45, NO. 4, APRIL 2015
TABLE II D EPENDABILITY PARAMETERS
TABLE IV S UGGESTED S OLUTIONS
TABLE III C OST PARAMETERS Fig. 13.
Scenario used in the modeling strategy validation.
TABLE V AVAILABILITY R ESULTS C ALCULATED T HROUGH THE M ODELING S TRATEGY (MS1) AND M ODELING S TRATEGY (MS2)
of redundancy mechanisms (e.g., hot standby, cold standby, and warm standby) to cloud infrastructure components. The SMG4CIP creates cloud infrastructures with one redundancy mechanism attributed to a single component of this infrastructure (CLC; CC; NC; switch; router), with one redundancy mechanism attributed to two components of this infrastructure (CLC and CC; CLC and NC; CLC and switch; CLC and router; CC and NC; CC and switch; CC and router; NC and switch; NC and router; switch and router), and with one redundancy mechanism attributed to three components of this infrastructure (CLC, CC, and NC; CLC, CC, and SW; CLC, CC, and router; CLC, NC, and SW; CLC, NC, and router; CLC, SW, and router; CC, SW, and router). It has an imperative impact on the availability of these infrastructures, fault prevention and on the overall cost of the provided services. Stochastic models are generated in relation to these cloud infrastructures with different availabilities and costs through the model generator of the SMG4CIP. This system allows the evaluation of these stochastic models through the evaluator, according to Tables II and III. Table II details the MTTF as well as MTTR of each Eucalyptus infrastructure component [15]. The second to fifth columns show the MTTFs of the redundant modules in cold standby (MTTF1), in hot standby (MTTF2), in warm standby (MTTF3), and the MTTRs of these redundant modules, respectively. Table III depicts unit costs of the redundant modules [11]. The second, third, and fourth columns show the costs of the redundant modules in cold standby (Cost1), in hot standby (Cost2), and in warm standby (Cost3), respectively. The stochastic models of the cloud infrastructures are evaluated and the results of dependability and cost metrics are obtained. The cloud infrastructures that meet the dependability and cost requirements established by the educational institution are suggested through SMG4CIP. This system suggests the cloud infrastructures according to the results of dependability and cost metrics. The SMG4CIP designs cloud
infrastructures (CIs): 1) with the redundant modules in hot standby, in cold standby and in warm standby attributed to the components CLC, CC, switch of the cloud infrastructures; 2) with the redundant modules in hot standby attributed to the components CLC, CC, router; and 3) with the redundant modules in cold standby attributed to the components CLC, NC, switch. Table IV shows the suggested cloud infrastructures. B. Modeling Strategy Validation The scenario (see Fig. 13) is adopted to validate the conceived modeling strategy considering the following components of the Eucalyptus platform: CLC, CC, and NC. In the proposed modeling strategy (MS1), the dependability and cost planning activity allows the generation of cloud infrastructures with various availabilities and costs through the assignment of redundant modules in hot standby to cloud infrastructure components. These cloud infrastructures have only one redundant module in hot standby assigned to its components. The dependability evaluation activity provides SPN and RBD models in relation to these cloud infrastructures. The analysis of dependability and cost scenarios activity provides the evaluation of these models. The modeling strategy (MS2) presents a hierarchical method based on heterogeneous models, combining RBD and SPN for dependability evaluation of VDC. The availability results of the suggested modeling strategy (MS1) are compared with the availability results of the modeling strategy (MS2) [10]. Table V shows the availability results calculated using both approaches.
SOUSA et al.: MODELING APPROACH FOR CLOUD INFRASTRUCTURE PLANNING
Paired t-test was applied to the availability results calculated through both approaches. Considering a significance level of 5%, this test generated the confidence interval (0.633; 1.878). As the confidence interval does not contain 0, there is no statistical evidence to reject the hypothesis of equivalence between modeling strategies. The validation of the proposed modeling strategy allows that it is used in other scenarios. VIII. C ONCLUSION As main contribution, this paper proposed a modeling strategy based on a hierarchical and heterogeneous modeling for cloud infrastructure planning according to dependability and cost requirements. This paper also presented SPN and RBD models to represent and evaluate cloud infrastructures. This modeling strategy was automatically implemented utilizing the SMG4CIP. A case study based on Eucalyptus infrastructure planning for virtual learning environment was presented in order to illustrate the feasibility of the suggested solution (modeling strategy and tooling). The major limitation of the SMG4CIP tool is related to the increase in simulation time proportionate to the increase in the cloud infrastructure size. As future work, we intend to improve the performance of the SMG4CIP tool, reducing simulation time for largest cloud infrastructures. Although the proposed modeling strategy can be applied to various private cloud infrastructures, another limitation of this paper is related to modeling of cloud infrastructures based on Eucalyptus platform. We also intend to consider other cloud platforms, such as Nimbus, Open Nebula as well as Open Stack. One more limitation of this paper is related to the system adopted to validate the conceived solution (modeling strategy and tooling), although other systems may be used. We also intend to adopt other client application and suggest cloud infrastructures according to dependability and cost requirements. The last limitation of this paper is related to the planning of cloud infrastructures considering only dependability and cost aspects. We aim to consider performance, dependability, and cost aspects in future studies. R EFERENCES [1] A. P. Guimarães, P. R. Maciel, and R. Matias, Jr., “An analytical modeling framework to evaluate converged networks through business-oriented metrics,” Rel. Eng. Syst. Saf., vol. 118, pp. 81–92, Oct. 2013. [2] A. T. Velte, T. J. Velte, R. Elsenpeter, and C. Babcock, Cloud Computing: A Practical Approach. New York, NY, USA: McGraw-Hill, 2010. [3] M. A. Marsan, G. Balbo, G. Conte, S. Donatelli, and G. Franceschinis, “Modelling with generalized stochastic Petri nets,” ACM SIGMETRICS Perform. Evalu. Rev., vol. 26, no. 2, p. 2, 1998. [4] D. Nurmi et al., “’Eucalyptus open-source cloud computing infrastructure—An overview,” in Proc. IEEE/ACM Int. Symp. Cluster Comput. Grid, 2009, pp. 124–131. [5] (2013, Nov. 28). Apache [Online]. Available: http://www.apache.org/ [6] A. Zimmermann and M. Knoke, “A software tool the performability evaluation with stochastic and colored Petri nets,” Technische Universität Berlin, Real-Time Systems and Robotics Group, Tech. Rep., 2007 [Online]. Available: http://www.eecs.tu-berlin.de/ fileadmin/f4/TechReports/2007/2007-13.pdf [7] B. J. S. Chee and C. Franklin, Jr., Cloud Computing: Technologies and Strategies of the Ubiquitous Data Center. Boca Raton, FL, USA: CRC Press, 2009.
557
[8] B. Martens, M. Walterbusch, and F. Teuteberg, “Costing of cloud computing services: A total cost of ownership approach,” in Proc. 45th Hawaii Int. Conf. Syst. Sci. (HICSS), Maui, HI, USA, 2012, pp. 1563–1572. [9] B. Silva et al., “ASTRO: An integrated environment for dependability and sustainability evaluation,” Sustain. Comput. Inf. Syst., vol. 3, no. 1, pp. 1–17, Mar. 2013. [10] B. Wei, C. Lin, and X. Z. Kong, “Dependability modeling and analysis for the virtual data center of cloud computing,” in Proc. IEEE 13th Int. Conf. High Perform. Comput. Commun. (HPCC), Banff, AB, Canada, 2011, pp. 784–789. [11] (2013, Nov. 1). Cost Unit [Online]. Available: http://www.bestbuy.com/ [12] D. A. Menascé, L. W. Dowdy, and V. A. F. Almeida, Performance by Design: Computer Capacity Planning by Example. Upper Saddle River, NJ, USA: Prentice Hall PTR, 2005. [13] D. Johnson, K. Murari, M. Raju, R. B. Suseendran, and Y. Girikumar, Eucalyptus Beginners Guide—UEC Edition. CSS Corp., 2010 [Online]. Available: http://cssoss.files.wordpress.com/ 2010/06/book_eucalyptus_beginners_guide_uec_edition1.pdf [14] D. Nurmi et al., “The Eucalyptus open source cloud computing system,” in Proc. 9th IEEE/ACM Int. Symp. Cluster Comput. Grid, Shanghai, China, 2009, pp. 124–131. [15] D. S. Kim, F. Machida, and K. S. Trivedi, “Availability modeling and analysis of a virtualized system,” in Proc. 15th IEEE Pac. Rim Int. Symp. Depend. Comput., Shanghai, China, 2009, pp. 365–371. [16] H. Liu, K. Xing, M. C. Zhou, L. Han, and F. Wang, “Transition cover-based design of Petri net controllers for automated manufacturing systems,” IEEE Trans. Syst., Man, Cybern., Syst., vol. 44, no. 2, pp. 196–208, Feb. 2014. [17] J. C. Laprie, A. Avizienis, and H. Kopetz, Dependability: Basic Concepts and Terminology. New York, NY, USA: Springer, 1992. [18] J. Dantas, R. Matos, J. Araújo, and P. Maciel, “Models for dependability analysis of cloud computing architectures for Eucalyptus platform,” Int. Trans. Syst. Sci. Appl., vol. 8, pp. 13–25, Dec. 2012. [19] K. Trivedi, Probability and Statistics with Reliability, Queueing and Computer Science Applications, 2nd ed. New York, NY, USA: Wiley-Interscience, 2002. [20] L. Gomes and A. Costa, “Cloud based development framework using IOPT Petri nets for embedded systems teaching,” in Proc. 2014 IEEE 23rd Int. Symp. Ind. Electron. (ISIE), Istanbul, Turkey, pp. 2202–2206. [21] (2013, Dec. 3). Mercury [Online]. Available: http://www.cin.ufpe.br/ ∼bs/MercuryTool/mercury.html [22] M. L. Shooman, Reliability of Computer Systems and Networks: Fault Tolerance, Analysis and Design. Chichester, U.K.: Wiley-Interscience, 2001. [23] (2013, Nov. 3). Moodle [Online]. Available: http://www.moodle.org.br/ [24] M. Ram, S. B. Singh, and V. V. Singh, “Stochastic analysis of a standby system with waiting repair strategy,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 43, no. 3, pp. 698–707, May 2013. [25] M. Ribas et al., “Assessing cloud computing SaaS adoption for enterprise applications using a Petri net MCDM framework,” in Proc. 2014 IEEE Netw. Oper. Manage. Symp. (NOMS), Krakow, Poland, pp. 1–6. [26] (2013, Nov. 28). MySQL [Online]. Available: http://www.mysql.com/ [27] M. Xie, K. L. Poh, and Y. S. Dai, Computing System Reliability: Models and Analysis. Guildford, U.K.: Springer, 2004. [28] P. C. Xiong, Y. S. Fan, and M. C. Zhou, “A Petri net approach to analysis and composition of web services,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 40, no. 2, pp. 376–387, Mar. 2010. [29] V. Cardellini, E. Casalicchio, K. R. L. J. C. Branco, J. C. Estrella and F. J. Monaco, Performance and Dependability in Service Computing: Concepts Techniques and Research Directions. Hershey, PA, USA: IGI Global, 2012. [30] R. German, Performance Analysis of Communication Systems with NonMarkovian Stochastic Petri Nets. New York, NY, USA: Wiley, 2000. [31] S. S. Peng and M. C. Zhou, “Ladder diagram and Petri net based discrete event control design methods,” IEEE Trans. Syst., Man, Cybern. C, Appl. Rev., vol. 34, no. 4, pp. 523–531, Nov. 2004. [32] T. Murata, “Petri nets: Properties, analysis and applications,” Proc. IEEE, vol. 77, no. 4, pp. 541–580, Apr. 1989. [33] (2013, Nov. 28). Ubuntu [Online]. Available: http://www.ubuntu.com/ [34] X. Li, Y. Li, T. Liu, J. Qiu, and F. Wang, “The method and tool of cost analysis for cloud computing,” in Proc. IEEE Int. Conf. Cloud Comput., Bangalore, India, 2009, pp. 93–100. [35] W. Kuo and M. Zuo, Optimal Reliability Modeling—Principles and Applications. Hoboken, NJ, USA: Wiley, 2003.
558
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS, VOL. 45, NO. 4, APRIL 2015
[36] X. T. Li, Y. S. Fan, Q. Z. Sheng, Z. Maamar, and H. W. Zhu, “A Petri net approach to analyzing behavioral compatibility and similarity of web services,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 41, no. 3, pp. 510–521, May 2011. [37] Y. F. Chen, Z. W. Li, and A. A. Ahmari, “Nonpure Petri net supervisors for optimal deadlock control of flexible manufacturing systems,” IEEE Trans. Syst., Man, Cybern., Syst., vol. 43, no. 2, pp. 252–265, Mar. 2013. [38] Y. H. Du, W. Tan, and M. C. Zhou, “Timed compatibility analysis of web service composition: A modular approach based on Petri nets,” IEEE Trans. Syst., Man, Cybern., Syst., vol. 11, no. 2, pp. 594–606, Apr. 2014. [39] Y. Y. Du, L. Qi, and M. C. Zhou, “Analysis and application of logical Petri nets to e-Commerce systems,” IEEE Trans. Syst., Man, Cybern., Syst., vol. 44, no. 4, pp. 468–481, Apr. 2014. [40] Z. W. Li, H. S. Hu, and A. R. Wang, “Design of liveness-enforcing supervisors for flexible manufacturing systems using Petri nets,” IEEE Trans. Syst., Man, Cybern. C, Appl. Rev., vol. 37, no. 4, pp. 517–526, Jul. 2007. [41] Z. W. Li and M. C. Zhou, “Elementary siphons of Petri nets and their application to deadlock prevention in flexible manufacturing systems,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 34, no. 1, pp. 38–51, Jan. 2004.
Erica Sousa (S’12) received the degree in electronic engineering from Pernambuco University, Recife, Brazil, and the M.Sc. and Ph.D. degrees in computer science from the Federal University of Pernambuco, Recife. She is currently an Assistant Professor with the Federal Rural University of Pernambuco, Recife. She has experience in computer science, and is involved in cloud computing, virtual learning environment, electronic funds transfer systems, stochastic models, performance models, dependability models, and performability analysis.
Fernando Lins (M’12) received the degree in computer engineering from Pernambuco University, Recife, Brazil, and the M.Sc. and Ph.D. degrees from the Federal University of Pernambuco, Recife. He is currently an Associate Professor with the Federal Rural University of Pernambuco, Recife. His research interests include cloud computing, business process, web service composition, web services, security, and performance evaluation.
Eduardo Tavares (M’13) received the degree in computer science and the M.Sc. and Ph.D. degrees in computer science from the Federal University of Pernambuco (UFPE), Recife, Brazil, in 2002, 2006, and 2010, respectively. Since 2011, he has been a member of the Center for Informatics, UFPE, where he is currently an Associate Professor. His research interests include performance and dependability evaluation, Petri nets, formal models, and real-time systems.
Paulo Cunha (M’12) was born in Recife, Brazil. He received the B.Sc. degree in electrical engineering and the M.Sc. degree in computer science from the Federal University of Pernambuco (UFPE), Recife, Brazil, in 1974 and 1977, respectively, and the Ph.D. degree in computer science from the University of Waterloo, Waterloo, ON, Canada, in 1981. He is currently a Full Professor with the Center of Informatics, UFPE. His research interests include computer networks and distributed systems, formal methods, and distributed software architectures. He has published several papers in the areas of programming languages and methodologies, formal description techniques, and distributed systems.
Paulo Maciel (M’12) received the degree in electronic engineering in 1987 and the M.Sc. and Ph.D. degrees in electronic engineering and computer science from the Federal University of Pernambuco, Recife, Brazil, respectively. He was a faculty member with the Department of Electrical Engineering, Pernambuco University, Recife, Brazil, from 1989 to 2003. Since 2001, he has been a member of the Informatics Center, Federal University of Pernambuco, where he is currently an Associate Professor. In 2011, during his sabbatical from the Federal University of Pernambuco, he stayed with the Department of Electrical and Computer Engineering, Edmund T. Pratt School of Engineering, Duke University, Durham, NC, USA, as a Visiting Professor. His current research interests include performance and dependability evaluation, Petri nets and formal models, encompassing manufacturing, embedded, computational, and communication systems as well as power consumption analysis. Dr. Maciel is a Research Member of the Brazilian Research Council.