Review: 4 Java clouds face off

CloudBees, Google App Engine, Red Hat OpenShift, and VMware Cloud Foundry reveal the pleasures and perils of coding on a public cloud platform

After a bit of fiddling, I was able to check in code and wait for Jenkins to build it, test it, compile the documentation, and deploy it to the server. If I needed more, there were plenty of other services, plug-ins, and switches to flip.

The theory is that CloudBees has plenty of high-end boxes working in parallel to build your huge pile of code. Instead of waiting for your desktop machine to page in the right libraries, you can let Jenkins parcel out your build to the racks at CloudBees.

I didn't see this advantage, but my Web application had just one class and one JSP. The Web interface to Jenkins comes with a neat progress bar and a flashing blue ball that made it clear that my local machine could build these few files faster than the leviathan in CloudBees' data center.

Even if small projects won't tap the power of the cloud, they'll still be able to use the discipline of Jenkins. It took me a few minutes of poking and prodding to get the code to flow all the way through the build pipeline, but after that I was golden. It's nice to let someone else worry about keeping Jenkins running.

The CloudBees cloud is essentially Tomcat and MySQL, but other databases are available, including some from third parties with tight integration. Cloudant, for instance, offers CouchDB services, and MongoHQ serves up MongoDB.

CloudBees offers servers as "app cells," a unit of power that's roughly one-eighth of a standard Amazon EC2 server. The memory and compute cycles are tied together, so you essentially buy the servers by the eighth.

CloudBees offers a generous set of free services, but the constraints are tight. Only the casual developers will be happy within them. Anyone engaged in serious work will quickly need to upgrade to a paying service.

Java clouds: Red Hat OpenShift Red Hat was never content to be just a collection of Linux tools. Its new foray into the cloud, called OpenShift, offers a quick way to deploy Java, Python, PHP, or Ruby apps to a collection of machines waiting to accept them. When you're done developing, the Red Hat cloud offers a collection of tools for deploying your app on Amazon EC2.

OpenShift is not Java-centric by any means. Whether you create a Java app or another kind, it handles much of the deployment issues. The standard Java application is a JBoss Application Server 7 stack built by Maven. This is a fairly new option, and I didn't find it listed in the fancy HTML documentation. Instead, I stumbled on it by hitting -h on the command line.

Yes, OpenShift is a good tool for those who like to use the command line. I typed a few lines, and boom! A JBoss application was deployed, running, and ready for customization. Updating is also simple. After you add lines, you commit to Git and push to the main server. This is more than a typical push, though, because you can watch the Maven build executed automatically as the push triggers a deployment. Using a version control system to run a deployment is more and more common, especially because it makes rolling back easier. Choosing Git is a modern choice.

Once you hit the "push" button with Git, the code ends up in the Amazon EC2 cloud. You provide the account information and the Red Hat tool called Flex handles the deployment issues. You have 30 days of free trial if you want to experiment on Red Hat's dime. These tools are all said to be in beta and strictly for development work.

Clouds versus hosting services Long before there was the cloud, there were the hosting services such as Mochahost.com, DailyRazor.com, Javaservlethosting.com, and HostJava.net. They're still here. All will take a WAR file and connect it with a domain name, usually giving you a running copy of Tomcat and as much memory as you care to buy. Often they toss in the cPanel control panel and other features from their PHP and HTML stacks.

Despite the fact that these services began before someone coined the word "cloud," it's worth ending with a comparison to them because they all offer fairly cloudlike features. It usually takes just a few seconds to start up a machine. If you have your credit card number handy, then Tomcat and the database are ready and waiting.

The biggest differences from the clouds will be in the data store and the scaling. These services are only for WAR files that are happy on one machine with one database. While you can build out the intermachine communication, you're left to do all of the work. If you want your database backed up, you get to push a few buttons.

This is fine for small and even not-so-small experimental sites as long as you don't use too much memory. In other words, they're good options for fledgling startups and proof-of-concept projects. The prices are predictable, and the setup is easy. The downside: Scaling can't be done easily without moving to a new platform.

But the more you play with the hosting services, the more the differences help you realize what the cloud services are trying to offer. It's not just the ability to start up a machine in seconds. It's not the preconfiguration. These precloud services offer all of that. It's the chance to buy computers by the minute or by the transaction. The hosting services don't come close to such offers, and that's where the current trend is going.

The more I played with the cloud and the precloud machines, I recognized there will be a wide range of opinions about clouds. Those with a fairly predictable and steady demand will wonder what's so great about the cloud. But those who suddenly need big blocks of compute cycles for short periods of time will be excited by the new options.

This article, "Review: 4 Java clouds face off," was originally published at InfoWorld.com. Follow the latest developments in application development and Java programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

Read more about application development in InfoWorld's Application Development Channel.

This story, "Review: 4 Java clouds face off" was originally published by InfoWorld.

| 1 2 Page 3
ITWorld DealPost: The best in tech deals and discounts.
Shop Tech Products at Amazon