Cloud Rapid Elasticity – Tutorial

This is the fifth tutorial in my ‘Practical Introduction to Cloud Computing’ course. Click here to enrol in the complete course for free!

In this cloud training tutorial, we’ll continue with the essential characteristics of cloud as defined by the NIST. Scroll down for the video and also text tutorial.

Cloud Rapid Elasticity – Video Tutorial

YouTube video

Cloud Rapid Elasticity

The next essential characteristic to cover is Rapid Elasticity. The definition of this from the NIST is “Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.”

You saw in the last post when we covered On Demand Self Service that servers running as virtual machines can be very quickly provisioned and up and running in around 15 minutes. If we’re provisioning any other kind of cloud software that can almost always be provisioned very quickly as well.

Just as they can be provisioned very quickly, cloud services can be taken down just as quickly as well. We can very quickly spin up or decommission our services as and when they are required. This is what’s referred to as Elasticity.

You can think of it like a rubber band. When you need to scale out you can do that very quickly and easily, just like stretching the elastic of a rubber band. When you need to scale back in you can easily do that on demand as well. You only pay for the services as and when you’re actually using them.

Elasticity allows the cloud provider’s customers to achieve cost savings and this is often a core reason for adoption of cloud services.

Depending on the type of cloud service, there will sometimes be a trade-off with cloud providers offering discounts for longer term contracts. If you’re willing to take the higher price and not be locked in then you gain a huge amount of flexibility.

Let’s have a look at some examples of where we could use this.

Cloud Rapid Elasticity Example 1

Say that 10 servers are required for a three month project. With cloud services the company can provision them within minutes, pay a small monthly OpEx fee to run them rather than a large upfront CapEx cost, and decommission them at the end of the three months with no further charge.

We can compare this to what we would have to do before cloud computing was available … Say that a customer comes to us with that same opportunity and we’re going to have to scale out to be able to meet the opportunity. We’d have to buy 10 more servers as a large upfront capital cost. At the end of the three months when the project is done we’re going to be left with those servers when we don’t need them anymore. It’s really not cost efficient and this could mean that we’re going to have to pass on the opportunity.

With cloud services, because it’s much more cost efficient, we’re much more likely to be able to take the opportunity and this can give us an advantage over our competitors.

Cloud Rapid Elasticity Example 2

Let’s say that we’re an eCommerce store. We’re probably going to get higher seasonal demand at Christmas time. If we’re using cloud computing we can automatically spin up new servers as our demand increases.

The way it works is we can monitor the load on the server’s CPU, memory and bandwidth etc. When it reaches a certain threshold we can automatically add new servers to the pool to help meet the demand. When the demand goes back down again, we can have another lower threshold below which we start automatically decommissioning servers. We can use this to automatically scale our resources in and out to meet the current demand.

Cloud Based Software Service Example

If we need to use cloud based software just for a short term we can pay for that rather than buying a one off permanent licence. Most Software as a Service companies offer a range of pricing options which support different features and term lengths so you can pick the one which is most cost efficient for you. There will often be monthly pricing options so if you just need occasional use you can pay for it as and when required.

Additional Resources

Cloud Elasticity on Wikipedia

You can click on the links below to see the previous posts in this series.

Traditional IT Deployment Models – On Prem and Colo

Server Virtualization Simplified

Defining Cloud Computing

Cloud On-Demand Self Service

This is the fifth tutorial in my ‘Practical Introduction to Cloud Computing’ course. Click here to enrol in the complete course for free!