I was at the Seattle CloudCamp last week, and ended up on the unpanel. An "unpanel" is the unconference version of a panel talk. Half a dozen self admited "experts" are picked from the body of participants, then the body of participants are polled for questions, and then members of the panel take turns picking a question and answering it.
One of the questions was somewhat defiantly called out by Steve Riley, the public face of AWS security. From memory, it was "what applications can NOT be moved to the cloud. Give reasons why, with data"
While I understood his point, which is that most of the applications that people think cannot be moved to the cloud, actually can be, I took the question, and with a mix of humor and defiance, answered it.
There are two kinds of apps that cannot move to "the public cloud", especially as it exists right now.
The first kind are the set of high frequency realtime applications that have a sense/react cycle faster than the networking latency to the cloud provider's datacenter. As I tried to tweet immediately after, "CPUs are getting faster, faster than the speed of light is getting faster".
And the the second kind are the set of applications that piss off people like Senator Joe Lieberman, who will call up your cloud provider's CEO to threaten him, resulting in your account getting killed and the cloud provider issuing a press release lying about the call from the Senator.
Fixing these bugs in the physical layer and in the political layer of the public cloud is going to be... challenging.