Gartner defines cloud computing as a style of computing where scalable and elastic information technology-enabled capabilities are provided as a service to external or internal customers using internet technologies(Gartner, 2019). The above definition also articulates some of the critical characteristics of cloud computing — standardization and automation, virtualization, rapid elasticity, flexibility and a pricing model that supports “pay as you go” billing. In the recent past, several cloud service models have emerged, prominent amongst which are: — Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS)(Ghosh, 2012). Infrastructure as a Service (IaaS) clouds has become major enablers of intensive cloud applications because they can provide the necessary computing capabilities for managing emerging big data workloads. In a typical IaaS cloud platform, computing resources are deployed rapidly through virtual machines in response to service demands(Sakr, 2014).
Over the past decades, cloud-computing adoption has seen explosive growth at both consumer and enterprise levels. According to Bain & Company, public cloud computing infrastructure and enabling services are expected to grow at 12%, SaaS at 18% while IaaS/PaaS platforms will come in at 27% by 2020(Heric, 2017). These increasing growth and ongoing demands are creating a need for easy and efficient performance and availability analysis method suited for a large-scale cloud-computing environment in other to adequately measure and report service level agreement (SLA). The importance of being able to assess availability and performance of cloud services quantitatively while incorporating various cloud service models results from an emerging industry practice of cloud providers guaranteeing only available at specific points within their service level agreements. The era of big data workload and the need for a performance-based cloud service platform enabled by an appropriate performance guaranteed service level agreement is now an industry pain point(Ghosh, 2012).
However, the performance analysis of a cloud platform is quite a difficult proposition for several reasons. Quantification of resiliency is necessary to analyze the uncertainties that can happen beyond the normal behaviors of any cloud service. The risk associated with the resource (hardware, software, network, etc.) over-commitment, needs to be quantified to manage service level agreements. Also, the associated cost profile for cloud services is required to estimate the infrastructure cost, power consumption cost, repair cost and the overall cost associated with SLA violations. With this resolved, the cost model and performance model can be used to optimize cloud services for any particular workload(Ghosh, 2012).
Theoretically, three main approaches are recognized and available for conducting such a comprehensive performance and cost-based analysis within any particular cloud computing service model: experiment-based performance analysis, discrete event simulation-based performance analysis, and stochastic model-based performance analysis. The experiment-based approach may sound quite appealing at first, but the extensive experimentation for each workload and the associated system configuration is not possible practically due to the sheer size of cloud infrastructure in today’s world. Discrete-event simulation is also a time-consuming methodology considering the many alternatives variations possible in a cloud environment when considered holistically including the assumed statistical accuracy of the expected results(Ghosh, 2012).
The stochastic model-based approach is, however, an attractive alternative due to its lower cost of implementation while covering the required space of important parameter, configuration and workload variations type possible in any given IaaS environment. However, stochastic models may not scale appropriately given the sheer size and complexity associated cloud-computing platforms as the Markov model tends to become quite large in practice. To counteract this largeness problem, Sakr et al. proposed a scalable stochastic modeling approach as an example of performance analysis in a large IaaS cloud and well suited for a big data workload scenario. An added benefit of the above proposal is the interacting stochastic submodels can be used to provide results for such a large cloud within a reasonable time as the approach becomes simple enough to obtain a closed-form solution iteratively. It also right that available stochastic modeling software packages such as Symbolic Hierarchical Automated Reliability and Performance Evaluator (SHARPE) and Stochastic Petri Net Package (SPNP) can be implemented with such closed-form expressions when the system becomes too large(Sakr, 2014).
Sakr et al proposal is a simpler and scalable form of Markov’s large stochastic model which relies on two key features — scalability and tractability, and supports a three-pool cloud architecture that includes interacting sub models such as Resource Provisioning Decision Engine (RPDE) sub-model, pool(hot, warm and cold) sub-model, and Virtual Machine (VM) provisioning submodels as shown in figure 1 below. The observed limitations of the three-pool architecture model in a given IaaS cloud platform, are associated with the possibility of the service request being rejected due to buffer constraints or resource provisioning bottlenecks, service request and physical machine homogeneous requirement constraints
In terms of the potential application of the proposal, the SHARPE portal support users on computing the service request rejection probability and the mean response delay time for resolving the interacting submodels in the IaaS cloud. This approach can also support “what-if” analysis for the entire IaaS cloud platform should the need arise. While the SPNP can be used to compute a variant of the stochastic Petri net package such as stochastic reward net (SRN).
In the emerging cloud infrastructure platform of today, its associated services require a predictable performance model for defining appropriate service levels. Such performance models can support the needed service level agreements and aid the computation of cost in the event of violations. Specifically, this paper discusses a scalable stochastic analytic model for performance quantification using a three-spool architecture model in a large-scale cloud infrastructure platform. The model limitation and potential application that can be developed based on the type of performance analysis approach is summarized for completion.
Gartner (Producer). (2019, May 13). Public Cloud Computing. Gartner Retrieved from https://www.gartner.com/it-glossary/public-cloud-computing/
Ghosh, R. (2012). Scalable Stochastic Models for Cloud Services.
Heric, M. B. a. M. (Producer). (2017). The Changing Faces of the Cloud. Bain and Company. Retrieved from http://www2.bain.com/Images/BAIN_BRIEF_The_Changing_Faces_of_the_Cloud.pdf
Sakr, S., & Gaber, M. (2014). Large scale and big data: Processing and management. Boca Raton, FL: CRC Press.