I haven't used a serious app in production on OpenShift, but I have been playing around with a Java project recently. Assuming I get it to production, I'm going to stick with OpenShift. I think the blogs, forums, and docs are great.
I started out with gradle and embedded jetty, and found no out-of-the-box support. They did do a nice blog post on how to use gradle for builds[1]. Unfortunately, the blog uses gradle version 1.6 and that's the last gradle version that doesn't throw an exception while building[2].
Wanting things to be easier, I switched over to maven[1] and tomcat:
OpenShift has supported Apache Maven as default build system for Java based projects since the first release.
Since going with this setup, things just work.
I also really like that the environment configuration is stored in the codebase under the .openshift folder. This makes it very easy to, for example, develop locally against http but make all your traffic go through https on OpenShift. And the free piggyback ssl means https just works too.
OpenShift's free tier provides 3 "gears" with 512MB RAM per gear and 1GB disk space. This seems to be much more than Heroku's free tier of 1 "dyno" with 512MB RAM and 10k rows DB space.
Did you use it during the free trial? I've found it give you just enough control. It's leagues ahead of what I saw from heroku as far as java goes.
They were great when I asked for more resources and the like as well during the trial. I've found a VPS better for my own purposes, but I'm kind of an outlier as far as the kinds of things I develop. Most people don't need that fine grained of control.
Openshift itself is a great model. That doesn't even count HN's love child Docker throwing their lot in with these guys.
I wouldn't mind evaluating their enterprise offering if it becomes relevant. I'm sure the paid product is much better than what was in the free developer preview a long time ago.
At least Red Hat is sticking by it, I haven't seen much in the way of cloud foundry in the while (keep in mind I haven't looked in to it in a while, so feel free to correct me here.)
I've also tried cloudbees and the like. I liked the fact that red hat is good on multiple fronts. It seems like they're nailing it overall.
That being said: heroku is usually the standard. I'm not really too much of a ruby person myself, I'm sure it's amazing for that though.
I started out with gradle and embedded jetty, and found no out-of-the-box support. They did do a nice blog post on how to use gradle for builds[1]. Unfortunately, the blog uses gradle version 1.6 and that's the last gradle version that doesn't throw an exception while building[2].
Wanting things to be easier, I switched over to maven[1] and tomcat:
Since going with this setup, things just work.I also really like that the environment configuration is stored in the codebase under the .openshift folder. This makes it very easy to, for example, develop locally against http but make all your traffic go through https on OpenShift. And the free piggyback ssl means https just works too.
[1]: https://www.openshift.com/blogs/run-gradle-builds-on-openshi... [2]: http://issues.gradle.org/browse/GRADLE-2871