how to sneak clojure into your rails shop

11
HOW TO SNEAK CLOJURE INTO YOUR RAILS SHOP ...and Improve Your Rails Hosting Along the Way

Upload: joshua-ballanco

Post on 10-May-2015

476 views

Category:

Technology


3 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: How to sneak clojure into your rails shop

HOW TO SNEAK CLOJURE INTO YOUR RAILS SHOP

...and Improve Your Rails Hosting Along the Way

Page 2: How to sneak clojure into your rails shop

ABOUT ME

• Joshua Ballanco

• Live in Ankara, Turkey

• Chief Scientist at Burnside Digital

• We do Clojure

Page 3: How to sneak clojure into your rails shop

IF THIS WAS 2006...

HOW TO SNEAK RAILS INTO YOUR JAVA SHOP

Page 4: How to sneak clojure into your rails 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!

Page 5: How to sneak clojure into your rails shop

STEP 1: JRUBY

• Convince your Rails guys to use JRuby:

• Better tooling

• Better performance (in many cases)

• Java ecosystem

• Lots of hosting options

Page 6: How to sneak clojure into your rails shop

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

Page 7: How to sneak clojure into your rails shop

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

Page 8: How to sneak clojure into your rails shop

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

Page 9: How to sneak clojure into your rails shop

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)

Page 10: How to sneak clojure into your rails shop

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

Page 11: How to sneak clojure into your rails shop

THANK YOU!

Joshua Ballanco

Burnside Digitalhttp://www.burnsidedigital.com