How We Deploy Our Clojure Services
asymmetrical-view.comWe built our own .deb containing all our bits, that depends on external dependencies. The .deb recipe is checked into source. Our deploy process is
1) compile the .deb.
2) spawn a new, empty EC2
3) apt-get the .deb
4) lein daemon start (http://github.com/arohner/lein-daemon)Ah, lein-daemon - didn't know about that, thanks!
Clojure is very interesting to me as a way to build and deploy services backed by machine learning. Interesting enough to make me learn LISP :)
In particular, two libraries are enormously useful:
http://github.com/bradford/infer http://github.com/afeinberg/clomert
You can use Hadoop with infer to build your model, fill a Voldemort cluster from Hadoop directly, then also serve your model using infer. All with very little code. That is mucho win.
Isn't that a huge obstacle to overcome to get clojure to become self-hosting? After all, the fact that it has access to java's libraries is a huge plus.
Even when Clojure is bootstrapped it will still maintain an extremely strong level of interop with Java (on the JVM flavor of course).