What is the difference between elasticity and scalability in cloud computing
I read from the book of T.Erl (if I have understand it correctly) that scalability is the ability of a resource to increase or decrease by demand, and that elasticity is the automatic scaling of a resource by demand of a resource.
After some search on web (again if I have understand it correctly) the scalability is about adding or removing IT resources by demand, and the elasticity is about the same but for the virtual machines. Which should I consider right?
To add to the previous answer, imagine two dimensions: resources on the x-axis, served demand on y-axis (throughput, goodput, or other quality criteria). Scalability of a system is all about finding the relationship (in theory) between these two dimensions whereas elasticity is all about making the system change its resources online to meet the actual demand.
When you say that a system is scalable you are talking about the ability of the system to process more/ do more, when you add more resources to it. When you say that a system is elastic then there is usually also a management layer involved that provisions and releases resources upon need ;)