CloudBees, Google App Engine, Red Hat OpenShift, and VMware Cloud Foundry reveal the pleasures and perils of coding on a public cloud platform
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.
You may still be better off sticking with Win7 or Win8.1, given the wide range of ongoing Win10...
Microsoft buried a Get Windows 10 ad generator inside this month's Internet Explorer security patch for...
Here’s the best of the best for Windows 10. Sometimes good things come in free packages
Sponsored by Intel
The creator of Linux talks in depth about the kernel, community, and how computing will change in the...
The latest additions to Google's mobile OS should give you plenty to chew on
The open source operating system celebrates its 25th anniversary this month
Google's gRPC aims to oust JSON for exchanging data between HTTP-connected services