Native support for play framework application

288 votes

Right now you can deploy play framework applications to openshift generating an exploded war folder, like it's explained in this article and in this tutorial.

There are a couple of disadvantages to this approach.

Mainly that you cannot take profit of play framework support for asynchronous requests (something that linkedIn engineers found quite valuable). More over, the first time you deploy, it takes quite a lot of time, because of the play libs. 

The fact is that Play! uses Netty, a non-blocking I/O protocol library built by the JBoss team. It combines non-blocking I/O with an elegant continuation-based programming model to deliver asynchronous processing of requests.

So Openshift would be particularly suitable for native play support, and Netty is indeed the deployment option recommended by play developers. Moreover, other PaaS cloud solutions are already provinding native support for Play Framework, like Heroku (they use Jetty, and adapted it to play framework) and Jelastic, which recently added play framework support (it was the most voted features with more than 500 votes).

I guess that having Netty among Jboss stack would certainly make things easier... am I right?



or vote

say hello to netty

right in play framework's heart...

This git repository will help you get up and running quickly with a Play framework 2 application on OpenShift Express taking advantage of the do-it-yourself cartridge.

This solution uses DIY cartridge. We cannot create scalable applications using it. Is there any workaround?

BTW, related feature to vote: Scalable DIY cartridge

Does each gear create a new Play application using this DIY cartridge?

Please note that a gear is defined as a set of resources (Memory, CPU, diskspace) used to host your application/cartridges. You are basically installing Play on the gear and running it like you would any web/app server. DIY is not scalable so it's a 1:1 relationship between app and gear. You can ssh onto your gear and review the contents for more insight on what's getting installed and what's running on your gear.

Building on the quickstart, I could propose this play2 cartridge :

Seems to work well at the moment.

I would really like to know if the OpenShift team is even considering adding this feature. There are probably more technical difficulties involved then I can imagine, but it is one of the top 5 most requested features.

I know about the quickstart, but it doesn't scale. And as a lot of people are pointing out; choosing a PaaS without the intention to scale your app makes no sense.

I have a number of applications that will be production ready soon and I'm going to deploy them on a PaaS. OpenShift has the best plans by far and I would love to become a Silver member and deploy my apps here. But my framework of choice is not natively supported and as such I am going to be forced to choose a competing party.

Please let me know if OpenShift is planning native support. If yes I'll become a Silver member immediately, and I imagine a lot of other people will do the same.

@info-5 : did you have a look at the cartridge I proposed for the support of play2 ? It supports scalability.

I see that the feature request has been raised in Feb 2012 and is in top 5 most voted features, does openshift consider to develop a cartridge for play application? if so is there a time frame in which they are going to put it in production ? using the DIY cartridge is very troublesome and newer versions of play (>2.2.0) make it really difficult to deploy the applications on open shift.