And the Greatest of These Is ... Rack Support - RailsConf

Over the past year, Rails has gradually become a better, more connected citizen within the Ruby web space.

The Merb merger is one part of that, but one of the biggest steps came much earlier, when Rails added Rack support. In addition to the obvious benefits, Rack support in Rails has made possible some new application architectures that were either impossible or ill-advised previously. Specifically, it is now possible to build a complex Rails application that can still respond extremely quickly and directly to a specific set of requests, such as those an AJAX service might experience.

This capability has only been improved by the introduction of Rails Metal, and by the ability to integrate distinct Rack applications (for instance, Sinatra apps) with Rails projects. In this session, we’ll briefly review how to get this integration running, but the majority of the time will be spent exploring real examples of how this approach changes how applications can be built. We’ll see how this technique rehabilitates page caching, turning it from a narrowly-applied strategy to a general-purpose performance booster. We’ll also see how this approach can save an application from incredibly frequent but tiny requests that could otherwise bring it to its knees. Finally, we’ll address some general problems that may arise as this technique becomes more popular.