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.