Almost a year ago I was invited to one of our VC funders, Warburg Pincus, for what was essentially a 2-day CIO roundtable. I sat across from CIOs (yes, the real deal) from leading Financial, Telco, networking and SaaS providers.
At one point, the guy from a really big networking provider offers-up that their they're the biggest customer of a particular SaaS vendor - and that it's getting to the point where they were uncomfortable with critical data residing outside of their four walls. There were a variety of legitimate reasons, notably availability and security. So they were in the process of demanding that the SaaS provider actually provide a physical hardware appliance inside of their enterprise.
This set me thinking -- this sort objection was going to hold for a number of potential SaaS and "cloud computing" offerings for quite some time. So, despite the clear economics of cloud computing, the following objections will be hard to completely overcome:
SLA& availability: major CIOs will never trust anyone other than their own staffs to maintain critical apps, especially those with time- and availability sensitivity
- Compliance: i.e. the need for complete auditability of applications and their data
- Privacy & legal requirements: consider that data hosted anywhere in the continental US may be subject to the Patriot Act - something which may not appeal to firms based outside the US.
- Liability: Who bares (sometimes considerable) financial burden when data is lost or unavailable?
- Responsiveness: there are a few applications - such as in the financial sector - where application-specific power (such as data crunching in a grid) or speed/latency (such as in financial trading applications) will likely never be met by generic "cloud" technologies.
So I'm guessing that "core" applications will never be placed outside the enterprise and into the cloud (counter to the admittedly hyperbolic statements from a certain CTO). But I would certainly expect that non-core apps, such as for marketing, customer-service, website, and other non-realtime applications may well end-up in the "cloud" in a few short years. BTW, James Urquhart has lots to say about pros/cons in his own blog.
Of course, there is another option -- creating a "cloud-style" utility computing environment within the enterprise.