Code2Cloud: Bridging The Gap Between the Developer's Workbench and the Deployment Destination

Java Development News:

Code2Cloud: Bridging The Gap Between the Developer's Workbench and the Deployment Destination

By Cameron McKenzie

21 Oct 2010 |

It can be difficult getting excited about the next press release touting another vendor's conquest in the cloud. As an IT professional, it's always nice to be given something tangible to work with, be it a piece of code you can compile, or a tool you can install and use. But so often, these 'cloud pronouncements' tend to tout all sorts of usability, scalability and application performance enhancements without requiring any extra effort or input from application developers; and really, how much fun is a new product or technology if developers can't get their hands dirty as they play around with it?

SpringSource announces Code2Cloud

Take, for example, Tuesdays announcement from SpringSource, stating that after months of tirelessly working with Tasktop Technologies, they were ready to unveil their Code2Cloud Application Lifecycle Tools. Right out of the press release, Code2Cloud is described as "a service with no setup, no hardware, and no software to manage." While these types of marketing blurbs play well with managers and business users, they tend to get the more seasoned IT professionals rolling their eyes. Throw in another line about how all of this magic happens by simply 'editing a single line in a configuration file somewhere,' and any self-respecting Java professional will likely have completely tuned out.

Of course, despite VMWare's desire to position Code2Cloud as a primarily 'hands-off' technology, this position only tells part of the actual story. The solution is quite a bit more extensible than one might think, and for those more inclined on the tactile side, there is actually quite and impressive set of Eclipse based plugins and tools that will give Java developers a thing or two with which to play.

What is Code2Cloud?

So what is Code2Cloud? As the name implies, it's a project designed to bridge the gap between the 'developers workbench' and the 'cloud based deployment destination.' And the developer's workbench and the deployment destination is bridged by SpringSource's all new, cloud based, project hosting service. And really, it's this cloud based hosting service that is at the heart of the Code2Cloud announcement.

Code2Cloud Dashboard

From the Code2Cloud dashboard, you can manage your team, runtime, source code and even track bugs and redeploy when problems have been fixed.

Spring is trying to make the move to the cloud a bit easier, while making the job of setting up a new, team based, development environment downright simple. The problem that's being tackled here is the time, expense and frustration associated with setting up a collaborative development environment, especially one that leverages the cloud. So, what Code2Cloud promises is that by installing a few plugins into Eclipse and then logging into your Code2Cloud account from the SpringSource Tool Suite (STS), you'll be able to set up a fully configured, collaborative development environment that leverages Mylyn, Hudson, Git and even a new cloud-centric issue tracker for when problems arise. 

Code2Cloud projects can be set up with a preconfigured runtime, Git repository, bug tracker and continuous build and integration tools.

And since all of this is hosted in a virtualized atmosphere, the only resource management problem you'll ever run into is paying VMWare's cloud-hosting bill at the end of the month.  A simple wizard allows you to pick the services you want to use, and when the wizard completes, a fresh, new, cloud based environment is available. And all of this is kicked off and managed through the Eclipse-based, SpringSource Tool Suite, making the IDE a first class part of the process of connecting the source code to the deployment destination.

Extensible or tightly integrated?

Of course, not everyone is all that impressed with the Code2Cloud announcement. CloudBees, who provide their own Java PaaS solution, have some reservations about how tightly the Code2Cloud solution is integrated with Git, Mylan, Hudson and the like. "This will probably interest some developers, but it may not appeal to others who want to know exactly what's going on. Here, everything is tightly linked together. When you create a project it creates a Hudson project, starts compiling it, etc. Is that really how people use those tools?" asks Sacha Labourey, former JBoss CTO and founder of CloudBees.

The other big concern is the issue of vendor lock-in. 

Open-source yet proprietary

But surprisingly, the whole project is open source. Of course, that doesn't mean you'll want to download and install the project locally. The service is hosted by VMWare and is pretty tightly coupled to the VMWare infrastructure for its provisioning servers, but there is nothing stopping people from taking the open-source pieces and running them on premise. "We are not trying to lock people in. Even with a Cloud2Code service hosted by VMWare, you can still connect to your own Bugzilla, you can point to your own Git repo. We are not actively trying to lock people in."

So, how do you get your hands on a Code2Cloud instance? Sadly, you're going to have to wait for a short while. The technology is ready, it is being tested internally, and attendees of SpringOne were actually given the opportunity to use the Eclipse tools at one of the exhibition booths and configure a remote cloud instance. But as for general availability, there isn't a set date yet. But don't worry; we'll be hearing more about Code2Cloud in the near future.

Code2Cloud Screencast
Tasktop helps VMware bring Code2Cloud by Mik Kersten
VMware Brings the Cloud to Developers with Code2Cloud Application Lifecycle Tools