I’ve been seeing a lot of hype about “Cloud Computing” lately, the latest being some posts over at NetApp’s Absolute Architect. Several versions of this idea have been tried before, and they never really took off as a mainstream way of doing things, but each iteration gets closer. This latest try is closer again, but still falls short of the mark. Here’s why:
Cloud computing, for those who don’t know, is a utility model for computer resources. The idea is that it would be neat if you could use computer power like you use electrical power; just plug in to the network and away you go! That’s why only a few years ago this idea was being called Grid Computing™, and Sun has been saying the network is the computer™ for ages. Alas, it isn’t that simple, and for many of the same reasons that the electrical power grid isn’t simple, though it may look like it from a user perspective.
Making something simple to use is quite hard. For example, the power grid has a standard interface. Well, almost. In my country, you’ve got single phase, which is used for your house, and 3-phase, which is used for industry and places where they need more electrons-per-second. In my house, the voltage is 240VAC @ 60Hz. Those of you in the U.S., however, use 110VAC @ 50Hz. Your sockets are a different shape, too, which is handy, because if you plug your stuff in over here it’s liable to explode.
But the clever boffins who make computers have put in auto-ranging power supplies, that can detect the difference and compensate internally so you don’t notice. This is why Cisco can ship the same equipment all over the world and only have to supply different plugs (dozens of different kinds!), not whole power supplies. Handy, eh? It also cuts down on the number of units they have to replace because someone plugged them in with the switch on the power supply set to 100V instead of 240V (like they used to). Fooom!
But it is possible. A few standards have made it possible for you to read this post: the power grid, ASCII, TCP/IP, HTTP and HTML, SQL, and written English. ASCII has won out over EBCDIC. TCP/IP beat Banyan Vines. HTTP has versions, and so does HTML (plus proprietary extensions). Even English is spelled differently in different parts of the world! Despite this, there’s a core amount of stuff that we (and our computers) can agree on, which allows us to do a whole bunch of awesome things. Like LOLcats.
That’s the simple reason why cloud computing isn’t ready yet, but that it might be one day. We just have to wait for a whole bunch of humans with different, often competing, interests to come to a mutual understanding of which technology is the right one (Linux! Windows! ODF! OOXML!). With luck, there will be a minimum of bloodshed.
Forgive me if I don’t hold my breath.