Towards Availability: A Dynamic Scaling Mechanism for Cloud Applications

Towards Availability: A Dynamic Scaling Mechanism for Cloud Applications

Wenting Wang (REINS Group, School of Software, Shanghai Jiao Tong University Shanghai, Shanghai, China), Haopeng Chen (REINS Group, School of Software, Shanghai Jiao Tong University Shanghai, Shanghai, China) and Xi Chen (AESOP Group, Department of Computing, Imperial College London, London, UK)
DOI: 10.4018/ijaras.2014040102
OnDemand PDF Download:
No Current Special Offers


With the on-demand ability of cloud computing, the performance requirement of a cloud application can be satisfied by adding a certain amount of computing resources to or removing some from the application in response to the workload fluctuation. However, the problem of the availability of application influenced by VM-based physical relative locations during resource scaling process is a challenge and has not been widely discussed yet. In this paper, the authors present a novel availability-based computing model to describe availability attribute of one application in the hierarchical topology of clouds. Moreover, the authors propose an availability-aware scaling mechanism by performing both vertical and horizontal resizing to explore how and where to allocate computing resource. Simulation results indicate that our model captured the availability of cloud applications properly and the proposed dynamic scaling approach achieves the objectives of meeting availability demands and minimizing the total cost.
Article Preview


Performance and Availability are two issues of the top concerns for web applications, especially for enterprise-level services. Cloud computing, a large-scale distributed computing paradigm (Armbrust, et al., 2010)providing elastic, on-demand, and reliable computational resources, makes such issues easier to be addressed. Virtualization is one of the most prominent technologies that make it possible. Generally, as shown in Figure 1, cloud applications are provisioned with a set of Virtual Machines (VMs) sharing physical resources. By dynamically provisioning the virtual resource applications need, an IaaS cloud provides ability for customers to add or remove capacity to or from their applications to meet the peak or the bottom of workload in order to guarantee performance requirement. Such issue has been intensively discussed in Urgaonkar, Pacifici, Shenoy, Spreitzer, and Tantawi (2005), Chen, Chen, Zheng, Wang, and Liu (2011), and Wang, Du, Chen, and Li (2008). However, the availability requirements satisfaction has not attracted significant recently.

Figure 1.

Applications in the cloud


Generally, the availability of a cloud application depends on the availability of software and the availability of its hosting environment. The availability of software that is affected by multiple factors, such as the architecture of the application, the execution path and the quality of codes (Sharma & Trivedi, 2007; Dai, Xie, Poh, & Liu, 2003), while the hosting environment includes physical hardware, topology, and the system software run on the hardware, such as operating systems, middleware, database management systems and etc. In IaaS cloud, providers are only responsible for the availability of hardware resource. Thus, in the context of our work, we only focus on the availability of physical resource environments offered by cloud providers and the impact placement solution has on the overall availability of an application. To be specific, the availability of the application is affected by how its components (i.e. VMs) are placed relatively to one another in the cloud (Jayasignhe, Pu, Eilam, Steinder, Whalley, & Snible, 2011). It is also significantly influenced by the specific structure of resources in the cloud. For instance, Amazon provides a relatively transparent structure of EC2, namely regions and availability zones, in which allows customers to launch instances to protect their applications from a failure of a single location (Amazon). Meanwhile, Microsoft Azure provides similar concept of fault domain, which defines a physical unit of deployment for an application and allows allocation at rack level (Mladenov, 2010). The SLA states that you need to have two or more instances in different fault domains in order to ensure 99.95% availability How to locate VM instances in such cloud environment is another unsettled issue for customers.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 7: 1 Issue (2016)
Volume 6: 2 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing