Keeping development nimble
Agile development is where cloud development can really be much more than just "online." Since cloud environments can be provisioned instantly and nearly any configuration copied and activated, the possibilities for instant developments and test environments are very attractive to developers. Particularly when those virtualized cloud servers can be configured to match the customer's production servers -- whether in the cloud or actual iron.
Cloud development can also boost agile development by coordinating collaboration, whether planned sprints or emergency bug fixes. Better yet, that collaboration can be done on provisioned virtual machines that will form a homogeneous platform for developers to use, so one developer's machine won't catch a bug that might slip by on another coder's machine due to differing setups.
Deploying to the cloud is also great for agile development. Pre-releases can be pushed out to customers' test machines on their cloud almost instantly. Even if the customer isn't in a cloud environment yet, pre-releases can be posted on a public cloud somewhere for the customer to access and test remotely before accepting delivery of the gold release of the app.
There are two toolsets that can approach this level of agile management in the cloud. The first is Code2Cloud, which is coming out soon from VMware's SpringSource division, in conjunction with Tasktop. Even though it's not out yet, Code2Cloud caused quite the stir when it was announced last fall at the SpringOne G2X conference. That's because Code2Cloud is pretty much the first in-cloud offering that bridges the gap between coding, testing, and deployment in one tool.
Code2Cloud includes the SpringSource Tool Suite IDE, git, the Mylyn task management Eclipse plug-in (Tasktop's contribution), Oracle's Hudson integration tool, and a Bugzilla-compatible bug tracking service. Developers can use the built-in IDE or work locally in Eclipse with the Mylyn plug-in. The transparency is expected to be very complete; any work done in Eclipse will be immediately updated in the Code2Cloud system.
There will be some drawbacks to the all-in-one approach in Code2Cloud, besides the fact that's it's not out yet (though here's a nice demo for now). Most notably, only one language will be supported on Code2Cloud's initial release: Java. You're also locked into SpringSource's Spring Framework to boot.
The other player is an old hand in distributed and now agile development: CollabNet. CollabNet's offers a tool suite comprising TeamForge, an application development management tool formally known as SourceForge Enterprise Edition, now specifically tuned for agile methodology; Subversion Edge, a Subversion administration tool; and ScrumWorks Pro, a project-level management tool.
There's a lot this suite has to offer: TeamForge alone is a solid forge and development management tool (now known by the marketing-friendly label "application lifecycle management") with a lot of pedigree. Ditto Subversion Edge, since CollabNet invented Subversion itself back at the turn of the century. ScrumWorks Pro is tightly integrated with these other apps, so any project-level work done in ScrumWorks is instantly reflected back in TeamForge and vice-versa. The level of reporting in ScrumWorks seems impressive as well.
You can watch CollabNet's demo too, to get your own look-see.
There are differences between the CollabNet suite and Code2Cloud. For IDE work, CollabNet developers will need to use something local, such as Eclipse, Visual Studio, or TortoiseSVN. But while there's a non-cloud element to working with CollabNet tools, that means that right now a lot more languages are supported than just Code2Cloud's lone Java.
Another key difference will be pricing, but a comparison there is pointless until Code2Cloud is actually released.
Neither app, by the way, has cloud provisioning tools integrated within them. It would be great if Rightscale, Cloud.com, or Skytap could be integrated into one of these agile development apps, so provisioning and automated management of dev, test, and production virtual machines could be kicked off right within the development application itself. Skytap has partnered with HP and their application lifecycle management apps, and CollabNet has their Lab Management service, so perhaps some sort of more direct integration will be coming soon.
For now, there seems to be a good collection of online tools for general distributed developers available and a growing set of cloud-based applications for full-on agile developers, as well. The full potential of the cloud as platform is finally maturing.
This article, "Building applications in the cloud: A tour of the tools," was originally published at ITworld. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook.