Post on 10-May-2015
description
HOW TO SNEAK CLOJURE INTO YOUR RAILS SHOP
...and Improve Your Rails Hosting Along the Way
ABOUT ME
• Joshua Ballanco
• Live in Ankara, Turkey
• Chief Scientist at Burnside Digital
• We do Clojure
IF THIS WAS 2006...
HOW TO SNEAK RAILS INTO YOUR JAVA SHOP
LEARN FROM RAILS
• Better to ask forgiveness than permission
• Use Clojure whenever it’s the best tool for the job
• ...and even when it’s just the right tool for the job
• Don’t be afraid to show off!
STEP 1: JRUBY
• Convince your Rails guys to use JRuby:
• Better tooling
• Better performance (in many cases)
• Java ecosystem
• Lots of hosting options
STEP 2: TORQUEBOX
• Stupid Simple Deployment: torquebox deploy && torquebox run
• JBoss strength and stability
• All the bells and whistles baked right in
• HornetQ for queueing, workers
• Infinispan for shared memory cache
• Quartz for scheduling
STEP 3: IMMUTANT OVERLAY
• Immutant is TorqueBox’s Clojure Counterpart (and so much more!)
• lein immutant install && lein immutant overlay
• Comes with: JBoss, Immutant, TorqueBox, and JRuby
• set some environment variables, then...
• torquebox deploy
• lein immutant run – Runs deployed Clojure and Ruby apps
STEP 4: OPENSHIFT
• From Red Hat
• Like Heroku, but open source (and you have ssh access)
• Deploy with a git push
• Use the ployglot-openshift-quickstart (http://github.com/)
• Deploy Ruby and Clojure based applications to the same instance
STEP 5: MAKE CLOJURE AND RUBY TALK
• HornetQ + TorqueBox/Immutant messaging libraries
• Infinispan + TorqueBox/Immutant caching libraries
• Higher-level abstractions
(keep an eye on http://blogs.burnsidedigital.com)
STEP 6: SHOW OFF
• Once it’s working, tell everyone why its so great!
• Sends alerts and receives confirmation when an alert is read
• Manage users, groups, organizations, permissions, etc.
• Separation of concerns improves stability and scale
THANK YOU!
Joshua Ballanco
Burnside Digitalhttp://www.burnsidedigital.com