Engine-ering Rails apps

A presentation at Saint P Ruby Meetup in in St Petersburg, Russia by Vladimir Dementyev

Rails applications tend to grow and turn into massive monoliths–that’s a natural evolution of a Rails app, isn’t it?

What happens next is you starting looking for an architectural solution to keep the codebase maintainable. Microservices? If you brave enough…

Rails ecosystem already has a right tool for the job: engines. With the help of engines, you can split your application into independent parts combined under the same root application–the same way rails gem combines all its sub-frameworks, which are engines too, by the way.

Curious how to do that? Come to hear how we’ve engine-ified our Rails monolith and what difficulties we faced along the way.


The following resources were mentioned during the presentation or are useful additional information.