Thursday, April 28, 2011

Cloud turns software release cycle on its head

I recall when the iPad first came out it was only available in the US and those of us closer to the North Pole (i.e. Canada) had to wait a few months to get one in the stores here. In fact it is not uncommon to have products launched for core markets first and then released for secondary markets.

So I was quite surprised and impressed when a colleague pinged me to say that he had just published DB2 Express-C 9.7.4 database in the Cloud. And that too available on all of Amazon's regions i.e. US, Europe and AP. This is probably the first time in the history of IBM that a product has been released on the Cloud first before being available through traditional channels.

At first I wondered how could that be ... the DB2 Express-C 9.7.4 install images aren't expected to be generally available for download for at least a few more days. So how could there be server templates for this newly updated version already available for running in the cloud? After all, Cloud is not where we get most of the usage of DB2 i.e. its not our primary market (at least not yet).

Well I suppose Cloud-o-nomics changes everything. Before new install images of a product are made available for download they typically go through several stages of testing and then some final sanity checking. In case of DB2 Express-C, which is the free community edition of the enterprise-class DB2 database from IBM, the final stages of testing involves installing it on several free/low-cost operating systems that would typically not get coverage during test cycles of the paid editions of DB2. In the normal test cycles for the paid editions of DB2 it is exercised on operating systems that IBM officially supports and are used in a business environment. However since DB2 Express-C is used by the community at large, and many members of this community prefer to use Windows Home Editions and free community versions of Linux distributions, IBM does try to test it on some of those systems.

If you're wondering what does the Cloud have to do with this? Well, in the case of DB2 Express-C it helped us cut down a significant amount of effort testing on operating systems that are not standard in an enterprise setting. While our test labs have lots of servers with Enterprise class operating systems and we can grab any of those to do testing, for the lower-cost/free OSes we need to spend time setting up systems/VMs with these OSes and their newer versions. The Cloud however saves us the effort of setting up such systems from scratch. We can just grab an existing OS image or server template on the cloud, launch it instantaneously, install our code, and make sure everything is okay - all in a matter of minutes. And it only costs us 10's of cents doing this as opposed to scrounging for free machines or putting in budget requests many months in advance to get new systems (which these days typically get rejected because these system would only be utilized for a very short duration).

Another reason we could get the DB2 Express-C 9.7.4 images out on the Cloud earlier than the regular images for download, was the use of RightScale cloud management platform and their concept of Server Templates. We already had older versions of DB2 Express-C for running on Amazon EC2 using RightScale Server Templates. DB2 was just an attachment to this template, and at launch time the server template would use an existing OS image to install and configure DB2. So for this new release, all we had to do was replace the attachment with newer version of DB2 code, and the template would then automatically install and configure this new DB2 release on the underlying operating system. So once this updated server template was launched, not only could we test the new version rather easily on this OS, but without any additional effort we also got a newer version of the server template that could be made public (with a click of just a few buttons) so others could also run this new DB2 Express-C code in the Cloud.

In conclusion, if you want to try out the latest release of DB2 Express-C, you can do so on the Amazon Cloud by running this DB2 Express-C 9.7.4 Database Server Template for Ubuntu 10.04** LTS, or you can wait a few days for the regular install images to become available for download. BTW, if you want to go the Cloud route you will need to have Amazon and (free) RightScale accounts and this video on from Bradley Steinfeld walks you through this simple process.

BTW, did I mention that there is no charge for using DB2 Express-C database or Ubuntu linux or RightScale (if you have a free account), but you would still pay for use of Amazon's cloud services, statring at 8.5cents an hour.

** Yes we would have liked to go out with Ubuntu 11.04 but the underlying OS image was not yet available on RightScale, so we fell back on any OS image that we had previously worked with.

The forecast for dataville is partly cloudy.

The forecast for dataville is partly cloudy.