Post by Nancy Matty Davis with Palo Alto IT Pro Affiliates,
For cloud computing to take off, there need to be tools available that enable a developer
to build and deploy an application without having to download anything to their desktop. This requires an on-demand development
tool that sits on top of the cloud and provides a development Platform as a Service (PaaS).
There are two paths
that a vendor can take to create a development platform for cloud computing: cloud-first or tool-first.
CIO, CTO &
Cloud-first approach to PaaS: first build a cloud
platform, then build a development tool that runs on top of it. This is the approach pioneered by Force.com and followed by
Coghead and Bungee Labs.
to PaaS: first build a development platform that is host-able tool (e.g., studio runs in a browser), then "push"
that platform into the cloud. This is the approach taken by WaveMaker.
For Force.com, it
made a great deal of sense to take the cloud-first approach. SalesForce.com already had a robust cloud platform and expertise
in building proprietary development tools to create their CRM application. There was also no requirement to make Force.com
work on any other cloud, because SalesForce is aiming to be the only cloud you will ever need for all your enterprise apps.
For most software vendors, however, the cloud-first development process has distinct disadvantages. First of all,
it puts you in the data center operations business, which requires a very different DNA than software development. Next, it
makes development itself difficult, because the cloud adds a level of indirection and complexity to all development tasks.
Finally, you will be forced to do cloud port eventually to get to a SaaS cloud people want to deploy on, like
Amazon -first approach to PaaS development is much more straightforward.
You start by creating a host-able development studio (pretty much rules out Eclipse plugins) and do your build
and test on standard hardware.
After you have build a solid product, you add multi-tenancy to the studio and customize
deployment for your cloud of choice (or use a partner like Elastra to do the deployment and administration for you).
A final oddity of the cloud-first vendors is that they
have all delivered proprietary development platforms. This provides a "roach motel" level of lock-in - your logic
and data can checkin, but just try moving them to another RIA or AJAX platform! Again, SalesForce can throw its 500-pound gorilla weight around and make the Apex language successful.
It is hard to imagine, however, that 5 years from
now people who have learned the Coghead language will be in more demand than, say, Java developers.