litany against fear

coding with spice ¤ by nick quaranto

RailsConf 2009 The Future of Deployment

published 05 May 2009

This is part of my series of notes on RailsConf 2009. Check them all out here.

This panel is from the guys behind Heroku. Going through the russian doll architecture of Heroku: Thin, Rack, Rack::Cache, and Sinatra. The guys who wrote this stuff are here, and they have some interesting opinions to share.

Marc-Andre Cournoyer started Thin as a port of Mongrel that was not threaded. He plugged it into EventMachine, and magic happened.

Christian Neukirchen started Rack. He didn’t want to go with Rails for writing his own CMS, so he started it as a Mongrel plugin. He created a port of the Mongrel API to FCGI, brought it to Zed, and he pretty much shot it down. From there he started looking around and found Python’s WSGI and decided to start on a Ruby version of it. Now at the point where pretty much every Ruby web framework runs on Rack.

Ryan Tomayko started Rack::Cache since he wanted a much simpler way to deal with HTTP caching, since it’s usually so complicated it’s easy to lose people when trying to explain it. He also wanted to show a great example of some Rack middleware.

Blake Mizerany started Sinatra because he had some smaller apps that he didn’t need to use Rails for. He started messing around with Mongrel handlers but soon switched over to using Rack.

Adam Wiggins is one of the founders of Heroku. He thinks the meaning of deployment is changing. It’s not a slow cycle that requires a lot of hardware and time, and they’re enabling people to change rapidly and allow developers to focus on writing their application code and not their servers.

Discussing the terminology behind deployment. Some talk that Mongrel has become a noun, but most people seem to use just “app server”. Moving onto middleware and how it can be used. Most people seem to know about it but not actually use it. The real benefit seems to be that you can have small pieces that are easier to test and can be brought together in a simple way. Lots of discussion about queueing systems as well. Plenty of people in the audience are using them, and there also seems to be a decent chunk of people that have rolled their own system.

(Note: I missed a decent chunk of this panel, the dry Vegas air finally got to me)



code (2) gaming (3) git (9) internet (5) prorubyconf (25) railsconf (17) ruby (10) windows (3)