Tuesday, July 7, 2015

Uncloudy Computing

Cloud computing has been a buzzword in the software industry for quite a few years now. I've often asked my software engineering friends, "what is so special about cloud computing? Haven't we had the client-server model since close to the dawn of the modern computing era?"

Sure, I can now access my files on DropBox or GoogleDrive from anywhere, using any device, but I've been remotely connecting to servers, for nearly two decades now. It doesn't strike me as a radical idea.

This morning, I was listening to BackStory, when one of the hosts Brian Balogh provided a good analogy. He was discussing with historian Bernie Carlson how Nicola Tesla and Edward Dean Adams used alternating current to transmit power from Niagara Falls to Buffalo.

Here is the relevant portion of the conversation from the transcript (emphasis mine):
BERNIE CARLSON: First, all of a sudden, companies could save money, because they could hook up to the grid and buy their energy from the electric company, and they could get rid of having to have big piles of coal in the backyard, in the yard of the factory, and a steam engine that the coal would feed and provide that. So all of the sudden– 
BRIAN: Bernie, was this analogous to the cloud in computing, where companies that really have very little to do with computing can now just rely on a source of memory? They don’t have to go invest in huge banks of computers in order to store their data? 
BERNIE CARLSON: Absolutely. That’s a perfect analogy. Companies didn’t have to have their own steam engines. They didn’t have to have their own generators. They didn’t have to have all the people that were working around those.
So the key insight (for me) is that the hype around cloud computing is not really around how it affects an individual, whose computing infrastructure may include a laptop, a desktop, a tablet, and a phone. This "infrastructure" is relatively inexpensive to administer and maintain.

It is about how, in principle, businesses no longer have to maintain and operate their own IT departments. Like the transition from local generators to the grid, this form of centralization potentially saves headaches, real-estate, and costs (due to scale and expertise).

If every business operates their own generator or IT system, there is overcapacity, since each business sizes its infrastructure to meet its peak demand, which lies idle during off-peak hours. Centralization facilitates efficient resource allocation.

Of course, the analogy is not perfect; information is not a commodity like electricity. Issues of secrecy and security are unique to information. Software upgrades, unlike electric equipment upgrades at an utility, may cause uneven disruption etc.

In any case, I found the analogy useful.

No comments: