Friday, October 5, 2012

Play! Framework - Version 2 Goes Native on CloudBees


NOTE: This blog is also shown on the Typesafe Blog

Since version 1, the Play framework has won fans at CloudBees. The secret Scala admirers enjoyed the rise of Scala support, and then delighted in the use of Scala in the implementation of Play version 2. Even the Scala haters had to admit that it was pretty cool. Most of all, the Play framework made java web development fun again (again? If we are honest, it never really was that fun to start with!).

From our point of view what was interesting was how Play applications were deployed. At CloudBees we offer managed app server stacks which allowed us to hook in services automatically to provide a smooth PaaS experience, but it is hard to not notice the shift towards other deployment models. As you know Play version 1 came with a war generating plugin - which opened up Play to deployment scenarios on more traditional application servers - however, in its heart Play really wanted to be free of the servlet container model (a fine model, which was ahead of its time in many ways). 

Play 2 takes this a bit further. So, at CloudBees, we decided that for popular frameworks we wanted to support the native experience of deployment - i.e. what the framework authors consider the ideal deployment. Play, via its use of SBT, produces a "distribution" - which is a self-contained zip - ready to run on a target platform. On CloudBees now we can run these natively - we use the Play 2 container - no need to generate a war, no changes in packaging or how you build your Play 2 applications. When an application is deployed to CloudBees, we look for existing artifacts from the zip archive we already have (and we probably already have them!) and save time on deploy (a great feature for those of us with terrible uplink speed).

To get started with this - one of the easiest ways is to launch a ClickStart which will set up an app, clone it into a private repository and set up a continuous deployment job (gets you going fast, you can lie to your friends and say you did all the work). 

Of course you can deploy directly from your Play 2 console (SBT) as shown here.

We have a page declaring our undying love for Play which should answer most of your questions. 

-- Michael Neale
Elite Developer and Architect
CloudBees
www.cloudbees.com

Michael is an open source polyglot developer. For his sins he spent time at JBoss, working on the Drools project, and then Red Hat, where he continually caused trouble on various projects. His interest in the cloud is natural, as he is attracted to disruptive technologies. Michael lives and works in the Blue Mountains, just outside Sydney, Australia. Follow Michael's daily struggle on Twitter or on his blog.

Follow CloudBees:

   

1 comment:

  1. Would like to start off with how happy I am to get play 2 support for cloudbees.

    I did have to change my appName to helloworld though.(And version to 1.0)

    I look forward to using native play for all of my applications, thanks guys.

    ReplyDelete