Cloud computing has a challenge endemic to many Silicon valley advances - a great technology triumph somewhat disconnected from a clear business benefit.
The developer version of cloud computing is PaaS (Platform as a Service). Like cloud computing in general, PaaS has struggled to articulate clearly why it deserves to capture the hearts and minds of enterprise developers
Hipper web developers have had no such hesitations and have collectively leapt to cloud computing platforms like Heroku and Cloud Foundry for Ruby on Rails.
This difference in adoption tells an important story. By and large, enterprise developers have spent years building highly automated toolchains centered around tools like Eclipse and Clearcase and targeting both desktop and web clients.
In contrast, platforms like Ruby on Rails were designed for web deployment and web tooling, so fit the online/PaaS model more naturally.
I would argue that from an enterprise developer's point of view, PaaS is just about automation. When a PaaS appears with associated tooling that makes it easier for enterprise developers to do their work in the cloud than on their desktop, we will see a big spike in adoption. At a minimum, this will require the following:
1. Seamless integration with existing tools: developers will want an easy on-ramp that doesn't require them to abandon existing tools like Eclipse, Clearcase
2. Automated build and test: this is where an integrated cloud tool chain can really rock, but only if it is easier to use than existing internal solutions.
3. Opinionated client stack: one of the biggest things holding Java back for full web development is that Java is not opinionated about how to build a client stack in the way that for example Ruby on Rails is. This means every development team has to come up with its own scaffolding and build process, making it difficult to deliver an automation solution that satisfies.
Of these three, the third is the real show stopper. More on this later.
ps. I thought briefly about coining a new acronym, PaaS *Is* Automation Stupid, but decided that we have enough acronyms in this space.