Published in IEEE Spectrum Magazine, May 2009
They say that soon we will be doing our computing by renting processing and memory on a vast cloud of computers out in the network. They say this is an idea whose time has come. Of course they have said this time-has-come thing about other ideas in the past, and some of those things just didn’t happen the way they said. But this time it’s for sure, they say.
I remember the old days of time-shared computing. Computers were expensive, and they only belonged behind big glass walls, where they were tended by shrouded acolytes. For the rest of us, it was keep your hands off. You rented computation by the second from your dumb terminal.
But the miracle of Moore’s Law has changed all of that. Computing equipment has become so cheap the junk piles are full of it. Who would ever have thought that you could have terabyte drives just lying around your house? So why should we go back to renting power from a cloud in the network?
Well, it’s true that processors and memory are cheap these days, but it seems that they are really cheap when you buy, run, and maintain them by the zillions. And companies like Google and Amazon already have zillions. They buy cheap stuff just like us, and the cloud is a living thing constantly being replaced and upgraded. So the advantages in cloud computing to a client organization would include the ability to add more capacity for peak demands, to flexibly experiment with new services, and to remove unneeded capacity when demand slackens. Moreover, the management of their corporate computing environment is unified – patch one, patch all, instead of every individual being his or her own administrator. Within the giant pool in the cloud the laws of statistics give the service provider great leverage through statistical multiplexing of all of these varying loads.
Those seem like compelling arguments, so what could be wrong with this picture? One immediate obstacle is that a lot of organizations seem reluctant to put all of their precious, proprietary data out in a public cloud. Even though there seem to technological solutions through encryption and access control, there is a certain widely-held impression that this might not look like a good thing to be doing. Also, there is a practical and administrative problem – once all your petabytes of data are out there in the cloud, can you ever get them back?
While the corporate IT organizations ponder the advantages and drawbacks, as an individual user I have a different problem – that of autonomy and control. I’ll admit from the start that this is a psychological hangup, but nevertheless, it’s there. I rather like having my own cycles and bytes and keeping my environment just the way I like. The question is: do I trust these guys?
I’ve been trained over the years as an engineer being both a system designer and a system user, and I’ve seen that the two sides are not always congruent. The designer feels that in order to give the user the best possible system, he needs to have a closed system, where all the features and interfaces are under his control. I don’t think that designers have evil intentions or even that they are trying to make more money for their company; it’s often simply that the urge to control is sometimes a part of the search for engineering perfection.
I’ve experienced the cell phone with the camera whose pictures can only be sent to my computer over the contracted carrier at a certain cost per picture, the built-in GPS that can only be used through subscription service, and the powerful new cell phone appliances that can only be used with certain carriers. I’ve seen the e-book reader with the wonderful display and features that can only be used for material sold through a particular vendor. All of these may be perfectly good systems, but they don’t always give me the flexibility I want. So why should I trust the cloud computing service providers?
There is a counterargument, of course. The cloud computing advocates say that the market will ensure that open systems are available. For some service providers openness will provide a competitive advantage. It would seem so far in this nascent market that may in fact be happening, as there are offerings that put the user at both the bottom of the stack, where the access is effectively to a bare generic computer, and at the top where the access is to customizable applications.
So is cloud computing an idea whose time has come? It’s your call; in the end that’s the way it works.