For a while now, many in the computing industry, myself included, have been referring to the cloud as "utility computing". Why, Amazon is just the GE of the age of utility computing, right? HP Cloud is just building power plants to compete in that marketplace. Plug in your code, and out comes computed things.. just like the light socket in your bedroom or the one out in the shop where you make custom cedar furniture in your spare time, right?
When you use a compute cloud, you are not simply spinning up servers, and then sucking down compute power. You are pushing data into said cloud, and then processing it, and pushing said processed data back out of the cloud, and into the cloud again.
In fact, where you get value from using the cloud is that your data is your product, and thus needs to be transported to the end customer. If you make widgets, widget making is what you're good at, not shipping. With software service, way you produce your product is by taking input data and running it through processing. The parallels to meat-space manufacturing are pretty interesting.
Computing seems special, because the speed with which raw materials (input data) can arrive is astronomically higher than say iron ore can arrive at a steel mill. Also, one can change the process without retooling anything physically. But these are both just variables in the same process. More liquid supply and demand simply means your process needs to be able to scale up and down elastically.
Cheaper process changes just means you can move into markets where the external factors change. This is why Google has dominated the search engine space by simply changing its search algorithm over and over, based on expectations of users and their own knowledge of how the web works.
But none of this changes what the cloud is. A steel mill needs a source of power to perform its processes. Isn't that just what IaaS is?
Well again, they just consume the power, they don't put any of the steel they generate into the power grid, do they? But in the cloud, your data ends up *in the cloud*. If the steel mill loses power, it stops the process. It does not lose the steel, and in fact, it can still ship the complete steel. Steel that is on the road is still kept on the road to customers.
But, if the steel mill's transportation provider fails, that is more like a cloud component failure. The steel just sits there, and can't get to customers.
It is for this reason that I think we can pull more interesting analogies (and hopefully, wisdom) from the transportation industry.
Given that, what are we doing wrong with clouds now that the transportation industry has figured out long ago?
Well for one thing, public clouds are really like shipping carriers, such as UPS or FedEx. They have massive markets and broad appeal. What they offer is not just fast time to delivery, but zero infrastructure, fast time to delivery. Call FedEx, they'll come take whatever you give them and take it where you tell them to for a fee. This feels an awful lot like a private cloud provider. Last I checked, HP Cloud and EC2 were about as easy as attaching a credit card to your account. If your cloud provider isn't as easy as this to use, why?
Also UPS and FedEx have spent years optimizing things internally. They've focused on pushing costs down and keeping SLA's high. But externally, they're just brown / purple&white trucks. Their brand keeps it simple. At some point the two big carriers bought the Mailboxes etc. and Kinkos. PaaS anyone?
Anyway, before I take this analogy too far.. I'm curious what others think. Should we stop calling it "utility computing" and instead just call it something else? "outsourced infrastructure"?