Upgrading a Huge Monolith from Rails 4.0 to Rails 5.1

Upgrading a Huge Monolith from Rails 4.0 to Rails 5.1

We recently collaborated with Power Home Remodeling opens a new window on a Rails upgrade opens a new window for their self-described “monolith CRM/ERP application” and were able to speak to them about their experience with OmbuLabs opens a new window .

We talked to Ben Langfeld opens a new window , Application Solutions Architect at Power Home Remodeling opens a new window , about the work on their app, Nitro. According to Ben, their monolithic CRM/ERP application is continuously built by a team of approximately 50 developers, system administrators, testers and support staff. The application contains over 500,000 lines of Ruby on Rails and Javascript code, and by their own definition, is one of the most complex Rails applications out there in terms of scope.

Like many companies, Power Home Remodeling opens a new window was having difficulty allocating developer attention to the Rails upgrade opens a new window project due to the demands of feature work coming from other areas of the business. That is why they decided to come to OmbuLabs opens a new window for help.

Nitro is a Component-Based Rails Application opens a new window . CBRA is an approach which organizes Rails applications into Ruby Gems and Rails Engines. By using this approach, they’re able to parallelize their test suite, therefore making CI faster, and reducing merge conflicts due to the large size of their team. Also, they are able to onboard new developers faster by having the ability to separate them into teams based on gems/engines instead of having them work their way through the entire codebase. For more information about CBRA, check out this video: “Scaling Your Rails App Codebase with CBRA - Ben Klang opens a new window ”.

We executed a full upgrade of the application from Rails 4.0 to 5.1 and prepared the company for an eventual 5.2 opens a new window upgrade. This necessary upgrade of their application led to a “reduction of risk in terms of repeat bugfix/feature development work compared to what is available in a more modern stack”.

According to Ben, “OmbuLabs augmented our in-house team with a specific capacity for the upgrade project, enabling our other developers to retain focus on direct business goals.” OmbuLabs opens a new window ’ exclusive focus on the Rails upgrade allowed the developers at Power Home Remodeling opens a new window to continue their work on features and other goals without distractions. In the end, Power Home Remodeling opens a new window received an application with up-to-date Rails versions and was able to make progress on their other work as well.

For more information about upgrading your Rails application, check out our “Upgrade Rails Series opens a new window ”, a series of do-it-yourself guides to upgrading Rails.

If you’re not on Rails 5.1 yet, or if you are and need to upgrade to 5.2 or 6.0, we can help! Download our free eBook: The Complete Guide to Upgrade Rails opens a new window .

Get the book