As part of my new gig as an analyst for the Virtualization Practice, I’m focused on the topic Agile Cloud Development. As discussed in my topic introduction, this covers the intersection of Agile Development and Cloud Computing. In determining how to approach this subject, I decided to break it down by types of products (aka tools) used in Agile Cloud Development.
First up in the Dev in the Cloud series is analysis on Continuous Integration in the Cloud. Overall I was happy with how this first article turned out. In writing it I spent quite a bit more time than estimated researching the various products and vendors in the space. What’s interesting to me, and didn’t make it into the article, is the two different types of cloud CI products in the marketplace.
The simplest are the CI solutions that work out of the box with minimal setup. Their primary selling point is simplicity of setup and ease of use. Most are tailored to a technology like Ruby or OSX and provide basic build and notification features. Examples include hostedci (OSX), tddium (Ruby) and Semaphore App (Ruby). These solutions are less expensive, less complex to integrate and can generally get teams up and running quickly. They are focused on developers and small start-ups.
At the other end of the spectrum are CI solutions that are a part of larger development Platform as a Service (dPaaS) offerings. The goal of dPaas products is to create completely integrated design-build-test-deploy solutions using their cloud software. In these products, CI is just one of the features along with features for testing, deployment, communication, management, issue tracking, collaboration, etc. Some are tailored to a technology, but most work with a variety of modern technologies including Java, Ruby, .NET and PHP. Examples include Bamboo, CloudBees (Java), CloudForge and Electric Commander. These solutions are more comprehensive and focused not just on developers but also managers and IT leaders who want a single solution from one vendor that integrates all the activities associated with software development.
These latter products are designed to help teams and organizations implement Continuous Delivery, a topic I’ll be tackling next.
If you’re currently using any of these tools (or others), please post a comment and let me know what you like or don’t like.