An interesting exchange of articles related to cloud computing surfaced this week. Cory Doctorow over at the Guardian wrote a denouncement of cloud computing, espousing that "the main attraction of the cloud to investors and entrepreneurs is the idea of making money from you, on a recurring, perpetual basis, for something you currently get for a flat rate or for free without having to give up the money or privacy that cloud companies hope to leverage into fortunes." Jon Stokes over on Ars Technica delivered a partial counter-argument, clarifying some subtle distinctions in the arguments: cloud computing offers user experiences not otherwise possible, and that the risk of abuse is really more about consumer-facing as opposed to business-to-business cloud services. From my vantage point, though, the biggest question is not being asked.
There is no question that cloud computing is an over-used, over-hyped, vague concept that is misused more than used properly. Not all applications should be deployed in a cloud, and not all computing resources should be coming from the cloud. But it is not just about price, it is about value. It is fairly common to be able to purchase a lot of something at a lower cost than purchasing a smaller amount of something (with an obvious exception, ironically enough, being healthcare). If I, as a consumer, for a couple of bucks a month do not have to buy/maintain a 2nd hard drive, do not have to find/install/maintain backup software (usually provided by the cloud service), and can access my content anywhere in the world, there is value associated with that. Could I buy that hardware, buy the backup software, buy remote desktop software, install and maintain them, configure my firewall ports...sure. But why would I?
In terms of the opportunity for corporate abuses, unfortunately they are all too common with or without cloud computing. Over half of Doctorow's much-loved PCs have an operating system deemed to be an unfair monopoly. Those who have been in the industry since the early 1990s like me will remember the CPU manufacturer got into trouble over unique machine identifiers. I could list a dozen different abuses in the technology market impacting your local machine, so let's not make cloud computing the villain.
Thankfully, the Internet has largely commoditized computing. If Google started charging me $1.00 per email or invading my privacy, I would go to any of the thousand different email providers that didn't. If my DSL provider starts metering traffic, I will go to cable, or wireless, or satellite. In fact, as we've seen in several high-profile attempts at consumer abuse, the accountability for large corporations is much greater now as abuses go from a single incident to an international disaster in a few hours. Will there still be problems? Undoubtedly, especially in areas related to data privacy (see my post a couple of weeks ago). But it's not a cloud computing problem.
In my job, I see cloud computing every day from the world's largest corporations to the smallest garage shops. The customers I talk to are not motivated by browser-based applications or the relative advantages of local/central/federated storage. They are motivated by two things: cost and scale. They cannot maintain competitiveness with ever-increasing IT costs; in some cases, they cannot compete at all since the technology costs would exceed their profits. And even if they could take on the technology costs, variability in their business and extremely high peak performance demands preclude them managing their business effectively. In other words, cloud computing enables them to compete more effectively in price, and compete more broadly in markets..
At the core of both Doctorow's and Stokes' argument is choice: are we moving to a world where consumers and/or businesses will not have a choice as to whether they will purchase their computing needs from a cloud? That is the question that should be asked -- not because of any conspiracies or new opportunities for abuse, but because technology vendors will focus their offerings where customers are buying -- if it is in the cloud, those will be the available products and services.
I am facing this today in the software my team builds. Almost every SAS Drug Development customer is hosted by SAS in an on-demand model (though not as a cloud architecture). In order to support a customer deploying the product within their environment, my team has to build and test the product on a large array of permutations covering of hardware, operating systems, and databases. When doing all of that work, we are not building the new features customers want. So if a large majority of customers are willing to buy this as an analytical service within a cloud -- where they don't have to care what hardware, OS, and database is being used -- should I continue to support local installations? What do you think?