If you’re contemplating moving a portion of your IT to the cloud you’ve probably heard about the many advantages the cloud has to offer. Things like cost, performance, easy collaboration and security are all common knowledge. While researching cloud computing, you’ve probably also heard the terms “cloud elasticity” and “scalability”.
These last two functions can be confusing. The terms cloud elasticity and scalability are often used together and sometimes even interchangeably depending on with whom you’re speaking. The fact is, that while related, in the world of cloud computing they are not actually the same. While on the surface these terms are very close in definition, in order to understand your cloud computing options, you’ll need to have a deeper understanding of elasticity versus scalability.
What is Scalability?
Scalability in cloud computing can be defined as the ability of the software or hardware being used to continue to function at an optimal level of performance as workflow volumes increase. For example, if you are anticipating growth in your organization and need to add 50 virtual workstations, your cloud host should be able to “scale up” your service to meet demand without affecting your overall system performance.
As this growth is anticipated and timed, you are simply adding resources and performance systematically. As long as your system is set-up with enough headroom to allow for growth, scalability is a transparent process. Or thought of in another way, scalability is a planned level of capacity that can easily and quickly be adjusted either up or down when you need more (or fewer) resources.
What is Elasticity?
Elasticity while related, is somewhat different. The concept of elasticity is also related to assigning resources, but in an “unplanned” manner. Cloud elasticity comes into play when you have a sudden, unexpected increase in bandwidth needs. For example, if a product or video suddenly goes viral and traffic increases exponentially overnight as a result.
Thought of in another way, while scalability is preplanned and you set-up your system before hand with the “headroom” needed for growth, elasticity offers immediate and unlimited headroom for extraordinary traffic loads, or other unexpected events. Cloud elasticity is a must for companies that offer subscription-based service to consumers, or developers offering “Software as a Service” type products.
Scalability Vs Elasticity
If you’re running a small business with 50 employees that all need access to a particular piece of software simultaneously, a client management database for example, and you are planning on adding 20 employees in the next quarter, scalability is crucial. The necessary resources are easily available to you, and, for example, you can add users to meet a seasonal demand and then when the demand subsides, scale your system down to your original needs.
Elasticity is crucial if your business is subscription-based, or offers SaaS, is heavily involved in e-commerce or mobile and web development. Basically, any business that can experience a sudden and unexpected surge in demand will need to look at the elasticity your potential host company can provide before signing any service contract.
The takeaway is that a good provider will be able to offer your business both scalability and elasticity as a function of your host contract. Your needs will determine which plays a dominant role in your final decision-making process.