In a cloud environment, consumers can deploy and run their software applications on a sophisticated infrastructure that is owned and managed by a cloud provider (eg, Amazon Web Services, Microsoft Azure, and Google Cloud Platform). Cloud users can acquire resources for their applications on demand, and they have to pay only for the consumed resources. In order to take this advantage of cloud computing, it is vital for a consumer to determine if the cloud infrastructure can rapidly change the type and quantity of resources allocated to an application in the cloud according to the application's demand. This property of the cloud is known as elasticity. Ideally, a cloud platform should be perfectly elastic; ie, the resources allocated to an application exactly match the demand. This allocation should occur as the load to the application increases, with no degradation of application's response time, and a consumer should pay only for the resources used by the application. However, in reality, clouds are not perfectly elastic. One reason for that is it is difficult to predict the elasticity requirements of a given application and its workload in advance, and optimally match resources with the applications’ needs. In this chapter, we investigate the elasticity problem in the cloud. We explain why it is still a challenging problem to solve and consider what services current cloud service providers are offering to maintain the elasticity in the cloud. Finally, we discuss the existing research that can be used to improve elasticity in the cloud.
['Md. Abu Naser Bikas', 'Abdullah Alourani', 'Mark Grechanik']
How Elasticity Property Plays an Important Role in the Cloud: A Survey.