Scalability for Cloud

Scalability for Cloud

Mohan Murthy M. K. (Nitte Meenakshi Institute of Technology, India) and Sanjay H. A. (Nitte Meenakshi Institute of Technology, India)
DOI: 10.4018/978-1-5225-3029-9.ch001
OnDemand PDF Download:
List Price: $37.50


Scalability is one of the reasons behind the popularity of the Cloud. In the real IT world, resource requirement of an application varies over the time. Elastic and scalable nature of the Cloud makes it more suitable for such situation. By scaling the resources as per the resource demand, efficient resource utilization can be achieved. Vertical scaling and horizontal scaling are two different types of scaling. In vertical scaling, the virtual machine resources are scaled, and in horizontal scaling, infrastructure is scaled by adding or removing new virtual machines to it. This chapter focuses on scaling in Cloud environment, especially resource scaling for applications. The chapter starts with a brief introduction to Cloud and scaling in the cloud. After the introduction, related literature is visited. The chapter explains the necessity of scaling with real life examples. The chapter covers virtualization and some important hypervisors from the scaling perspective. The chapter also explains vertical scaling and horizontal scaling in detail.
Chapter Preview


Cloud computing is the distributed computing model which provides software and hardware resources to the users in an on-demand way (Buyya, Yeo, Venugopal, Broberg, & Brandic, 2009). Most of the time cloud providers use pay-as-you-go model where users will pay only for what they have used. Users are moving towards cloud because it offers several benefits such as scalability, elasticity, maintenance free, cost effectiveness, etc. It provides a better QoS than a traditional computing model with less initial investment.

In the cloud paradigm, based on the type of services provided, three important service models are defined: Software as a Service (SaaS), Infrastructure as a Service (IaaS), and Platform as a Service (PaaS). SaaS is a software delivery model where software and its associated data are hosted centrally and are typically accessed by users using a thin client, normally using a web browser over the Internet (Wikipedia, 2017). SaaS model is also called as “on-demand software” model. Ex – Salesforce. In infrastructure as a Service (IaaS) model, computer hardware (servers, network, storage, and data center space) are delivered as service. It may also include the delivery of operating systems and virtualization technology to manage the resources. The IaaS customer rents computing resources instead of buying and installing them in their own data center. Most of the IaaS vendors support dynamic scaling of the resources where if the customer needs more resources than expected, he/she can get them immediately, probably up to a given limit (Hurwitz, Bloor, Kaufman, & Halper, 2010), e.g., Amazon, RackSpace. Platform as a Service (PaaS), is one rank higher to IaaS in which the provider delivers more than infrastructure. PaaS offers an integrated environment to design, develop, test, deploy and support custom applications (Hurwitz et al., 2010), e.g., Windows Azure, Google App Engine.

Four important deployment models are possible in the cloud. They are Private, Public, Community, and Hybrid clouds. Private cloud is specific to an organization where within organization users can access the cloud. Public cloud is open to the large user community, where computing resources, software, storage space, etc. are given to the end users as metered services. There is a possibility that two or more organizations can set up their own cloud infrastructure. This kind of cloud is called as community cloud. The combination of private, public or community cloud is called as hybrid cloud.

Irrespective of the service or deployment models the fundamental infrastructure setup of a Cloud will be as shown in Figure 1.

Figure 1.

Cloud setup

Many big companies like Amazon, Rackspace have set up their data center using the model shown in Figure 1. A virtualization software is installed on top of the enormous amount of the hardware. The virtualization software helps in creating and managing the Virtual Machines (VM). Virtualization is the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device or network resources (Rouse, 2017). There are many virtualization applications available in the market. Some of the important virtualization software are VMware, Xen, KVM.

Cloud offers many benefits to the users. Some of the important benefits are listed below:

Complete Chapter List

Search this Book: