Yesterday I tried to deploy a Clojure web application on Redhat’s OpenShift and after some tries it runs! The
rhc CLI tool is a bit quirky (gives a lot of warnings about usage of deprecated API) and the DIY repo comes with a demo application you need to get rid of first (merged an existing application into an orphan branch and pushed over the remote master branch with
-f) but it does work as expected. It is not as smooth as heroku (yet) but, apart from the rough edges I feel it’s a platform to keep an eye on.
I especially like the openness of the inner workings. There is no magical “slug” compilation or “process” launching. When you create an application it sets up a
git repository and something like a
chroot environment for you on a shared Amazon EC2 instance and off you go. Your repository will have some script hooks to build, start and stop your server processes. It’s all very clear and without hocus pocus. Read through the architecture overview on the wiki for more information on how it works or dig into the source code of the platform on github for the fine details.
Thanks to the Phillip Meier for his blog post on getting a Clojure app running on Openshift and, ofcourse, Redhat for providing their PaaS as an opensource platform and letting developers test drive it for free.
BTW, pricing information will be available “this summer”..
Oh, and for details on running a Clojure webapp on OpenShift look at this commit.