The biggest challenge of cloud computing is making an application elastic, which consists of variations in load without the involvement of a human manager and without the compulsion to change its code. In this project, we first identified several design issues that have to be addressed, following making an application elastic. Defining the granularity of the elastic components in the application, handling their interconnections and controlling the elasticity at automation era. We have already calculated the contact of autonomous computing and proposed an architecture of an elastic application, considering a perfectly made application surrounded by general concepts and application specific parts. We used a load injection application (Clif) as a use case. Cloud computing is now a completely stable model for providing on demand facilities provisioning to a pay-as-you-go model. Elasticity, one of the major component required for this computing model, is important to handle resources to ensure separate resources to the load variation. However, many works have already measured cloud computing and its features, there is an absence of a comprehensive study of elasticity for the cloud. As an attempt to close this gap, we propose this survey with limitless rational review. We address many aspects of elasticity such as definitions, metrics and tools for measuring, review of the elasticity and existing solutions. This is the first analysis on cloud computing elasticity using a research review.