jclouds Beta 7 Coming: Interview With Adrian Cole
The end of this month, the Java-based, open source cloud adaptor jclouds will be releasing a new beta. The jclouds project provides an abstraction over cloud vendors' offerings, especially "Devops" integration like starting, sizing and managing instances and dealing with storage. It provides built-in support for cloud storage offerings from Amazon S3, Cloud Files, Windows Azure Blob, Atmos Online, and AT&T Synaptic as well as built-in support for compute offerings from Amazon EC2, Rackspace Cloud Servers, RimuHosting, Terremark vCloud and GoGrid.
InfoQ caught up with Adrian Cole, the jclouds project lead, to ask him what he saw in store for Java and the cloud. We asked him first what motivated him to create jclouds and he described his experience with existing cloud libraries:
All projects were basically based on the same design concepts as Amazon's example code that was on their web site and it was pretty much organically grown in that each one slightly more elegantly took the code out there, ported it and made it a little bit more robust and at the end of the day it was all the same bloodlines. All the problems with the example code, which was never meant for production, were there.
So, after some time trying to improve the existing libraries, Mr, Cole decided to create his own adaptor library for the Devops community.
We asked Mr. Cole who his most passionate users were and he responded that "he sees less end users than middleware authors" and that the most active, current jclouds users are companies like Infinispan and GigaSpaces that use jclouds to integrate or test their middleware products with the cloud. He posited that this may be because "clouds by themselves are not necessarily beginner stuff" but went on to say there's a lot of developer interest: "There were 120 people at the San Francisco Java User Group when I presented jclouds there....I expect that mix [IT developers vs. middleware vendors] will change significantly next year."
Mr. Cole relayed what was in store for the beta release, saying:
The great new functionality in this release is that we've taken apart the problem a lot of people have with image management....today what we've done is we've kind of modeled that better and so we have an Image object which essentially is a relationship between a packaged operating system and how that cloud presents that...So you can query for a family of Suse and it would tell you 'yay verily' or 'nay verily this does not exist' and you could do predicate logic. You can basically, in Java code, create reliable logic to bootstrap your system based on the operating system and what it supports.
In addition to a reworked API for managing images, the new beta includes support for more cloud vendors:
Most of the new providers are on the compute producing side and not the blob store side....we spent a lot of time with vCloud which, in my opinion, is the most important infrastructure cloud this year. And there are various other new infrastructure clouds and we've done some work on that.
Before letting Mr. Cole go, we asked when jclouds will come out of beta and he estimated the end of the year, further saying, "I don't like to take off the beta until we stop changing the API."