Scalability and Elasticity in Cloud Computing
Prerequisite – Cloud Computing
Cloud Elasticity :
The Elasticity refers to the ability of a cloud to automatically expand or compressed the infrastructural resources on a sudden-up and down in the requirement so that the workload can be managed efficiently. This elasticity helps to minimize infrastructural cost. This is not applicable for all kind of environment, it is helpful to address the only those scenarios where the resources requirements fluctuate up and down suddenly for a specific time interval. It is not quite practical to use where persistence resource infrastructure is required to handle the heavy workload.
It is most commonly used in pay-per-use, public cloud services. Where IT managers are willing to pay only for the duration to which they consumed the resources.
Consider an online shopping site whose transaction workload increases during festive season like Christmas. So for this specific period of time, the resources need spike up. In order to handle this kind of situation, we can go for Cloud-Elasticity service rather than Cloud Scalability. As soon as the season goes out, the deployed resources can then be requested for withdrawal.
Cloud Scalability :
Cloud scalability is used to handle the growing workload where good performance is also needed to work efficiently with software or applications. Scalability is commonly used where the persistent deployment of resources is required to handle the workload statically.
Consider you are the owner of a company whose database size was small in earlier days but as time passed your business does grow and the size of your database also increases, so in this case you just need to request your cloud service vendor to scale up your database capacity to handle a heavy workload.
It is totally different from what you have read above in Cloud Elasticity. Scalability is used to fulfill the static needs while elasticity is used to fulfill the dynamic need of the organization. Scalability is a similar kind of service provided by the cloud where the customers have to pay-per-use. So, in conclusion, we can say that Scalability is useful where the workload remains high and increases statically.
Types of Scalability :
1. Vertical Scalability (Scale-up) –
In this type of scalability, we increase the power of existing resources in the working environment in an upward direction.
2. Horizontal Scalability –
In this kind of scaling, the resources are added in a horizontal row.
3. Diagonal Scalability –
It is a mixture of both Horizontal and Vertical scalability where the resources are added both vertically and horizontally.
Difference Between Cloud Elasticity and Scalability :
Cloud Elasticity Cloud Scalability 1 Elasticity is used just to meet the sudden up and down in the workload for a small period of time. Scalability is used to meet the static increase in the workload. 2 Elasticity is used to meet dynamic changes, where the resources need can increase or decrease. Scalability is always used to address the increase in workload in an organization. 3 Elasticity is commonly used by small companies whose workload and demand increases only for a specific period of time. Scalability is used by giant companies whose customer circle persistently grows in order to do the operations efficiently. 4 It is a short term planning and adopted just to deal with an unexpected increase in demand or seasonal demands. Scalability is a long term planning and adopted just to deal with an expected increase in demand.