Speaker Deck

Abstracting your Application away from Rails

by Myles Megyesi

Published February 24, 2012

Ruby on Rails makes building web applications extremely easy. All you need is an idea, the Rails Guides, and a little programming experience and you can have an application up and running in no time. However, time after time we have seen businesses paralyzed by applications built in this manner. As the business grows, the application must grow as well to accommodate the changing needs of the business. However, as a result of the coupling to Rails, the growing application becomes rigid (hard to change), fragile (easy to break), and immobile (hard to reuse). Eventually, development will slow to a halt and the business will have no room to grow. In this talk I discuss how abstracting your application away from Rails will allow you to continuously improve the application without bringing development to a halt. I will also analyze the costs and the benefits of this abstraction, as well as a case study on how to do it.