The buzz around the cloud is not new, the buzz around the development on Cloud a little more. At Kalistick, we are especially interested in this subject for two reasons. First the purpose of our solution is to improve the delivery process, from development to deployment through the tests, which also reaches the goal of development on Cloud.
The other reason is related to our own infrastructure. Kalistick platform was designed from the beginning (2007) to operate in SaaS (Software as a Service) and we brought this platform on Cloud in 2010 with two objectives: better handle the load of our code analyses, and improve our own process of delivery by enjoy the flexibility of Cloud (we will give a feedback soon on this subject).
We are therefore actively monitoring activity about development on Cloud, and given the runaway of announces about this subject last weeks, it seems interesting to offer a synthesis of existing solutions and to go beyond twittospheric buzz to show concretely what these solutions provide.
This first post aims to clarify and introduce the key concepts of development on Cloud in order to give a comprehensive view of the market with a focus on solutions announced last weeks in the Java ecosystem: Amazon Elastic Beanstalk, CloudBees , eXo Cloud IDE … The next posts will focus on some of these solutions or certain types of uses.
Preamble
Before presenting usages and solutions, a few words to clarify the context.
All is not Cloud
The “cloud” term is now valuable in terms of marketing. Since some months, it seems like everything server-side is the Cloud, for example an “online” service (or SaaS) is necessarily on the Cloud. Or when Microsoft advertises on (French) national media, it is about “Cloud-Power”.
Not sure there is a precise definition accepted by everyone, the concept is quite broad. We consider here the Cloud as an infrastructure with the following characteristics:
- Elasticity (scaling), i.e. the ability to change the infrastructure by adding / removing hardware resources easily as needed
- Abstraction of infrastructure: the location and specifications of hardware or software (virtualization, sharing …) are transparent to the user
- On-demand usage. Elasticity allows Cloud infrastructures to be used as needed, with on-demand costs
An application does not become magically Cloud
An application installed on a Cloud does not benefit automatically from Cloud advantages. In the same way that an application must follow some practices to be clustered. Hosting on the Cloud generally requires a different way to develop: ubiquity of data, failover, scalability, capacity …
dev@cloud and run@cloud
“dev@cloud” and “run@cloud” are terms from the CloudBees vocabulary, which separates its offer in two: DEV@cloud for services targeting developers (SCM, continuous integration …), RUN@cloud for application runtime. We also use these words to better separate these two types of usage. Here is how we are positioning these concepts:

We define dev@cloud as a set of services hosted on the Cloud and facilitating the development process: code edition (IDE), continuous integration, quality assurance (where is positioned Kalistick), bug tracker … We also include a portion of run@cloud in dev@cloud to take in account tests and deployment of the application in its test environment(s). We will see there are solutions able to automatically deploy a delivery generated by the continuous integration into a runtime environment on the Cloud.
The whole chain from development to delivery can be achieved without any internal server, enjoying the benefits of Cloud: dynamic provisioning of resources, on-demand payment, ubiquity, multiple environments…
We will now browse the stack of services we put in dev@cloud and will position some solutions on the market. These are increasingly numerous. Most of vendors with an offer targeting the development cycle redirect their strategy towards the Cloud, sometimes just by rebranding their products with “Cloud” terms.
NB: the panorama of solutions is not meant to be exhaustive, it is particularly centered on the Java development, and restricted to products providing an evaluation and targeting developers.

Pingback: Mix-IT, can't wait for the next one!