“You keep using that word. I do not think it means what you think it means.”
– Inigo Montoya, The Princess Bride
Over the past few years the tech industry has been quietly conspiring to slip the word “cloud” into our cultural vocabulary, but the marketing departments behind this effort are having a hard time establishing any sort of consensus about what this magical new word should mean. With a word like “cloud”, though, a nebulous definition is somehow fitting, if unsatisfying.
Cisco took the novel approach of asking the general public what they thought cloud computing was, if only to make a point. Amid all this confusion, Google felt the need to explain what they mean when they use the term. None of this stopped Dell from trying to trademark the term.
Even the definitions on Wikipedia and Webopedia aren’t very satisfying, largely because they’ve been generalized to include all the vendor-specific interpretations of the term.
If you haven’t got a firm idea of what “cloud computing” is, rest assured you’re not alone–even Larry Ellison, the founder and CEO of Oracle was flummoxed by the term (BusinessInsider.com, 2008):
“The interesting thing about cloud computing is that we’ve redefined cloud computing to include everything that we already do. I can’t think of anything that isn’t cloud computing with all of these announcements. The computer industry is the only industry that is more fashion-driven than women’s fashion. Maybe I’m an idiot, but I have no idea what anyone is talking about. What is it? It’s complete gibberish. It’s insane. When is this idiocy going to stop?
“We’ll make cloud computing announcements. I’m not going to fight this thing. But I don’t understand what we would do differently in the light of cloud computing other than change the wording of some of our ads.”
Then there’s Microsoft CEO Steve Ballmer, who in 2008 was announcing his company’s new cloud computing project, codenamed “Red Dog” (now “Azure”). He declined to provide any details, possibly because he was still unclear on the concept himself (CNET, 2008):
“I would have thought I knew what the word ‘cloud computing’ meant, until I sat with Ann [Winblad] and a bunch of venture capitalists this morning who used the word completely differently than I would have used it.”
“I think when people talk about cloud computing they’re talking about taking some stuff, putting it outside the firewall, and perhaps putting it on servers that are also shared–or storage systems–that are also shared, perhaps with other companies that they know nothing about.”
By 2010, though, Ballmer wanted CEOs and CIOs to accept a bit of hand-waving and take his word for it that cloud computing was the next big thing:
“So, what is this cloud thing we talk about? In some senses I think that the best way to think about the cloud is it’s a place where we will all work, we in the tech industry and all of the IT people who work for companies like yours. We’ll work to fuse the best of what we think of as the PC today, the phone, the TV, the Internet, and the corporate data center. And it’s a land of opportunity.”
If that wasn’t vague enough for you, then consider how Ballmer adapted that message for the average person at his next event:
“I’m not sure my goal for today is going to be to actually explain [cloud computing] to you, but I do want to make sure that people understand that I think everybody in our industry accepts it’s the next major transition point in terms of how IT gets done.”
In other words, it’s all right that you don’t know what cloud computing is. All you need to know about cloud computing is that it’s better than sliced bread, the bee’s knees, and a basket full of puppies. If all of that annoying “To the Cloud” advertising primes you to run out and purchase anything with the word “cloud” on the label, the tech industry as a whole will be richer for it. Literally.
The beauty, from a marketing standpoint, is that without a formal, accepted definition, the word “cloud” can be applied to virtually any Internet application. That should come as no surprise, really: we’ve been using the cloud symbol on networking diagrams for ages to represent…the Internet.
“Pay no attention to that man behind the curtain.”
We use cloud symbols to represent the vague, the unknowable, the uncountable, the hazy bits in the middle of a troublesome math proof in which we write, “a miracle occurs”, and the second-last step in a list of instructions that ends with “Profit!” It’s the intellectual spackle we use to cover holes in our logic, downplay our inability to grasp the complexity of the problem at hand, and sometimes to be deceitful. Has computing really reached such a point that we’ve no better option than to throw up our hands and accept it all as magic?
There’s an appeal to that line of thinking, the notion of submitting to the Technology Gods and letting them have their way with our data, trusting that they’re the experts, and that we’d be better off outsourcing more of our computing to professionals, the same way we trust utilities to handle essential services. The US government seems to agree, as their CIO, Vivek Kundra explained his vision of cloud computing (CIO.gov, 2010):
“There was a time when every household, town, farm or village had its own water well. Today, shared public utilities give us access to clean water by simply turning on the tap; cloud computing works in a similar fashion. Just like water from the tap in your kitchen, cloud computing services can be turned on or off quickly as needed. Like at the water company, there is a team of dedicated professionals making sure the service provided is safe, secure and available on a 24/7 basis. When the tap isn’t on, not only are you saving water, but you aren’t paying for resources you don’t currently need. ”
Whether that vision warms your heart or gives you a case of the heebie-jeebies likely depends on where you sit on the techie scale:
If you consider yourself a techie, or at least someone who knows a thing or two about computers, you probably shudder at the thought of giving up control of your computing environment; you prefer to host your own servers at home, perform your own backups, and you buy your computers based on their speed and power. For you, this is a hobby, a passion, a point of personal pride, but most of all it’s a domain that you feel confident you can manage responsibly. Why would you want to trust that to anyone else?
If you live at the other end of the scale, however, owning a computer can be an expensive source of frustration, and it comes with nightmares about viruses that will eat your computer, Trojans that will steal your passwords and empty your bank account, disk crashes that cause you to lose all your data, etc. The need to keep antimalware software updated, the need to perform regular backups and periodic maintenance all seem like chores, and like chores they get neglected. To people in this camp, the idea of a very simple computer (e.g. a thin client) that connects to an online service that hosts the actual applications, performs all the security checks and does all the backups is going to be very appealing.
Gmail is a perfect example. When it was first announced, Gmail made a lot of the techies I know shudder, mainly because of the privacy implications of letting Google process your mail, even if it was supposedly only to help Google deliver more targeted advertisements to you while you used their web-based client. Turning mail processing over to Google seemed like a surrendering of control, particularly since Google offered no information about its spam or malware filters–they could be doing anything to your mail behind the scenes, both before and after delivery to your mailbox. At the same time, millions of people appear to have decided that trading a bit of control and privacy for pre-filtered mail is a good deal.
Those sorts of privacy and control issues have almost by themselves come to define cloud computing as it exists today. The general model seems to involve outsourcing an application to remote servers somewhere, keeping as little as possible on the client machine. Rather than installing Microsoft Word on your PC, for example, you would simply connect to one of Microsoft’s servers and use Word remotely. With a fast enough Internet connection, the (buffered) back-and-forth exchange of data as you type should be unnoticeable, so ideally this would have the same look and feel as a locally-installed version of Word. It could end up costing you less, too, particularly if you only use Word occasionally, since Microsoft could charge some sort of metered fee or renewable subscription fee rather than force you to pay the full retail price.
Privacy and trust will always be issues with such services, though. When you’re composing a document with Word installed on your own computer, your words exist only on your computer, but when you use Word in its cloud-based incarnation those words are stored at a remote location, entrusted to Microsoft for protection. We can at least rule out the possibility of your data being intercepted by a third party somewhere on the Internet, since any well-designed cloud app would provide end-to-end encryption. The real risk is that if someone were to hack into Microsoft’s storage network, they could gain access to every document users have entrusted to them. Encrypting the stored files wouldn’t help very much in this case, since the decryption would need to take place on the server rather than the client, so the keys would be available to such an attacker as well, or could be sniffed as clients connect to perform the key exchange.
“Who will guard the guards themselves?”
– Juvenal, Satires VI
Ultimately it comes down to how much you trust the company providing the cloud-based service. Do you trust them to maintain a secure network and secure storage for your data? Do you trust them not to peek at your data, or use it for purposes you did not intend or authorize? Do you trust them not to hold your data hostage if/when you fail to pay the bill? Do you trust them not to sell your data to third parties? How easily will they hand over your data to the authorities if you’re under investigation? These are non-trivial concerns when your data lives in a storage facility beyond your control.
As the industry moves further toward a cloud computing paradigm, it seems that our personal computers will become more like netbooks–thin devices with little in the way of onboard storage or horsepower–while all of our applications and our data will live on remote servers somewhere, being tended by IT professionals. It’s a realization of the thin-client concept that failed to gain much traction in the 1990′s, only now applied to the Internet rather than a LAN. Make the client machines simple and inexpensive, and put as much as possible on the server side, just like the old mainframe model that featured one big computer serving many “dumb” terminals. That, my friends, is where “the cloud” will eventually lead us, if taken to its logical extreme.
Is that a good thing? Well, in a world with fast, ubiquitous Internet connectivity it would certainly have some appeal, particularly since it could put great computing power in the hands of anyone on Earth very cost-effectively. That One Laptop per Child project, for instance, wouldn’t need to cut corners, since thin-client netbooks would be the norm worldwide, likely available for well under their $100 target. There would probably still be room for manufacturers to distinguish their products–bigger screens, better speakers, more attractive form-factors, etc.–but for the most part we’d all end up using essentially the same client hardware under the hood. There’s little benefit, after all, to having a processor twice as fast as the next guy’s, when you’re both just connecting to the same cloud service to run apps on their hardware.
Of course “fast, ubiquitous Internet” is still a ways off at this point, and without it, cloud apps are going to feel somewhat sluggish. We might be willing to put up with that for things like mail and backups–things that aren’t so time-critical that we care about the seconds–but when milliseconds matter, things break down. Games that generate their graphics on the server and send the rendered frames over the Internet to a client won’t feel very responsive or reactive to user input until there’s enough bandwidth available to make this practical.
If we get to that point, however, it will mark the end of the personal computer era, a transition akin to scrapping all of our cars and adopting mass transit–an analogy that hints, perhaps, at how unlikely that outcome is. More likely we’ll see a compromise that makes cloud computing an attractive option for non-techies, while those of us who actually enjoy working with computers will become more of a niche segment of the market, serviced by vendors who still practice the art of turning silicon into gold.
For software techies, though, cloud computing has the potential to take their work to a whole new level. Imagine being able to write software that runs on a machine that never becomes obsolete, and whose computing power can grow and shrink dynamically as needed–from the equivalent of a basic desktop computer to a supercomputer at the flip of a switch. That’s Amazon’s Elastic Compute Cloud (EC2), and that sort of “virtual computer” may very well be the catalyst for tremendous software innovation in the coming years as developers begin to design truly scalable apps.
I’m not too concerned, personally; the vagueness of the terminology irks me, but in the end it might prove to be a useful label for abstracting a certain subset of the Internet, much as the “world-wide web” did in the mid-90′s. The web gave us a new way to conceptualize the Internet, which before that had been an informal collection of servers providing SMTP, POP, NNTP, FTP, Gopher, WAIS, finger, and so on. Visualizing the Internet as a web and providing a tool for browsing that web made a huge difference in terms of making the Internet accessible to the masses. I remember being annoyed at the time, too, that “the web” was being used casually as a synonym for the Internet–the purist in me always felt the need to point out that things like email were not part of the web, but it was a lost cause.
Perhaps the cloud is just the evolution of the web–a further abstraction of the Internet that may be necessary to describe the increasingly distributed and server-side nature of this new generation of Internet applications. If so, it won’t be long before we start hearing “the cloud” replace “the web” in casual conversation and in the media. And the purists in us all will cringe, just a little.














