This is the lightning talk I presented at Clojure/West 2013. In it, I cover how to utilize JRuby, Torquebox, and the Immutant Overlay project to introduce Clojure, gradually, into an environment where Rails is the norm.
4. 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!
5. STEP 1: JRUBY
• Convince your Rails guys to use JRuby:
• Better tooling
• Better performance (in many cases)
• Java ecosystem
• Lots of hosting options
6. 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
7. STEP 3: IMMUTANT OVERLAY
• Immutant isTorqueBox’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
8. 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
9. STEP 5: MAKE CLOJURE AND
RUBYTALK
• HornetQ +TorqueBox/Immutant messaging libraries
• Infinispan +TorqueBox/Immutant caching libraries
• Higher-level abstractions
(keep an eye on http://blogs.burnsidedigital.com)
10. 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