Monday, 8 August 2011

Building applications in the cloud





Since the notion of cloud development (formerly known as Web application development) took off, thousands of developers have been intrigued with the notion of creating apps for the cloud in the cloud. After all, the accessibility, portability, and powerful collaborative capabilities of the cloud are practically perfect for developers -- or so one would think.

Yet in-cloud development hasn't taken off as many would have expected; many cloud apps are still coded, tested, and prepped on local machines and then deployed using whatever tools their public, hybrid, or private cloud has.

Part of this has been the problem of lock-in: for instance, previously if you developed on SalesForce.com's Force.com tool, you would have been expected to deploy on SalesForce, rather than something like EC2 or Google App Engine. That, happily, has loosened somewhat: today Force.com has some portability with these cloud services.

But lock-in is still prevalent, which has held back many developers from fully jumping into in-cloud development. There is also the issue of corporate inertia: yes, cloud-based offerings can offer a reduced hardware footprint and configuration setup, but if your organization already has a well-developed development infrastructure, that's going to be hard to part with, at least until machines and software become obsolete.

Today, two development methodologies are bringing a lot of street cred to cloud-based development: distributed and agile development. These concepts are pushing the envelope on existing development apps, requiring a new set of tools that can accommodate new development, testing, and deployment methods.

No comments:

Post a Comment