Aug 2, 2013
David Dunlap

Words are tools we use to describe ideas and the world around us. Often times we can find a word whose description is a perfect fit for the concept we are trying to imply. Depending on the connotation, we might believe that the word, even if it’s a perfect fit, might be a way to mislead or perhaps over-hype a concept. Cloud, in the context of cloud computing, has been blamed as such a word for the past few years. Incidentally, other terms such as elasticity and holistic, both of which encapsulate key concepts in cloud, are also deemed guilty of being marketing jargon.

I will concede that both elasticity and holistic have been thrown around with reckless abandon, however, they both have firm roots in cloud computing. Let me explain.

How can a Cloud be Elastic?
When we say an object has high elasticity, we are generally describing an object that not only stretches to amazing lengths, but also goes back to its original state. Balloons are high elastic, they stretch and contract. When it comes to computing resources, elasticity means that the infrastructure expands to meet increasing needs, but once those needs are finished the infrastructure shrinks to its original state.

For public cloud, this is very important in that the state of elasticity of the application directly translates into cost savings. Because most public cloud offerings are charged on a use basis, the ability for the cloud to grow or shrink to support the workload is of key importance. A public cloud that is working at peak efficiency is a cloud that transitions seamlessly in support of the workload.

For private cloud, elasticity is the ability to take the resources you own and shift them between multiple workloads. As a for instance, a company might decide to run a separate instance for each department within a private cloud. Each instance expands or contracts based on the workloads, shifting resources seamlessly between each. This can be especially helpful for companies that run office hours while processing data backups or big data and model crunching. During the day, processing power is distributed between the employees. At night, the processing power can be used fully by data backup processes or numbers crunching.

In other words, elasticity is precise control of your system resources in real-time.

Dealing with a Cloud in a Holistic Fashion
For elasticity to work, your hardware must be treated as a whole. Individual servers on the component level are natural containers, but as we saw above containers with set boundaries run against the concept of elasticity. Therefore instead of treating your hardware as hardware, your hardware must be treated as pieces of a whole, which is the definition of holistic.

The big question is now how, how do you pool resources from multiple “containers” into a single container? The operations model of cloud computing fulfills this endeavor. Resources from all servers within the cloud are pooled into a single container. So now all the parts of your data center can be treated as a whole with resources doled out from the central pool to the workloads that need it the most.

To wrap this up cloud computing offers precise control of all of your system resources in real-time by pooling resources from all of your hardware containers into a single common pool from which those resources can then be moved between workloads, seamlessly. Or you can just say cloud computing is both holistic and elastic. I think I prefer the latter.


    The cloud has to be elastic vertically from layers 0-7 and horizontally across network and market segment boundary points. Few people in the IT layers (3-7)look into the physical layers (0-3), just like few people look outside their company, service provider or market segment silos.

    Posted by Michael Elling (@Infostack) on August 12, 2013 Reply
    David Dunlap

    Thank you for mentioning it Michael. Vertical and Horizontal scaling is very important when it comes to the cloud depending on what you place on it. Some apps cannot scale to multiple servers (horizontal). Instead they must remain on a single physical server. To solve elasticity in this instance would be to increase cores and RAM on the server. This is particularly pertinent to relational databases, many of which cannot scale horizontally.

    Through standardization, vertical scaling becomes more elastic. I remember when cloud computing first became a thing, many complained that it is a good way to pass off legacy hardware. The theory was enough legacy hardware could equal one current server. Great for cutting costs, but abysmal for vertical scaling. So standardization solves this by applying an internal policy of say maybe we only use servers that have X number of cores. So no matter where in the cloud your data is housed it can scale vertically to X regardless. Same goes with RAM. This makes for a truly vertical elastic cloud.

    Posted by David Dunlap on August 16, 2013 Reply

Leave a Comment