August 28, 2014 | Written by: Rossella De Gaetano
Share this post:
Being a software engineer, I often end up talking about cloud computing. I think there is still a lot of confusion about what cloud computing actually means. For a lot of people, it is nothing more than embracing virtualization. For others, it is just data center automation. Where’s the truth? I’ll take the chance in this post to share my view on that.
The National Institution for Standards and Technology (NIST) states that the following characteristics are the key components of cloud computing:
– On demand self service
– Broad network access
– Resource pooling
– Rapid elasticity
– Measured service
Taking these into consideration, you may notice that services on demand are just one aspect of cloud computing. With this aspect, you can access resources and services only when you need them and for the time frame you need them. In cloud computing, the actual request for a resource or service is done directly by the consumer (self service), with no direct interaction with IT personnel. Of course, this comes with a good investment in automation.
Why is cloud computing not just data center automation? Well, data center automation just means you’re delegating some tasks to a system with no human interaction. Typically, these automatic tasks are initiated by a scheduler and managed by a provisioning tool. There is no focus on the consumer of the service, so there is no idea of a self-service user interface. Data center automation doesn’t imply any resource pooling across different set of users. Rapid elasticity is not a must and neither are metering resources (even though this last one is very popular, typically to ensure adherence to service level agreements).
Looking at the deployment models (public, private, community, hybrid), data center automation spans the on-premises aspect of cloud computing, while on demand is location agnostic.
In the end, on demand and data center automation share some cloud computing characteristics, but not all of them.
The interesting thing I would like to underline, looking at the five key characteristics, is that the idea of virtualization does not come directly into the game. Of course, supporting rapid elasticity and resource pooling are just so easily achieved with virtualization that it has become a must in many cloud computing implementations. But there can be, in theory and in practice, a cloud computing environment that runs on bare metal.
To summarize, the key aspect that differentiates data center automation and on demand is self service. The capability offered to the user to access and consume services tailored for his skills and needs, at any time and place he wishes, is switching the gravity center from IT people and processes towards service consumers. Cloud computing puts the user experience first and foremost. Neither data center automation nor virtualization do that. This is a revolution that from the social point of view is breaking any age, education, geography and skill constraint, potentially identifying any human being on planet Earth as a service consumer.
What do you think? Comment below or follow me on Twitter @DeGaRoss.