The Modular Monolith in Ruby on Rails

📰 Dev.to · David Silva

Learn how to structure a Ruby on Rails application as a modular monolith to improve maintainability and scalability

intermediate Published 24 Jun 2026
Action Steps
  1. Identify the different domains or features in your Rails application
  2. Create separate modules for each domain or feature
  3. Use Rails engines to enforce boundaries between modules
  4. Implement interfaces and APIs for communication between modules
  5. Test and deploy each module independently
Who Needs to Know This

Software engineers and developers working on large Rails applications can benefit from this approach to improve collaboration and reduce conflicts

Key Insight

💡 A modular monolith allows for a single deployable application with enforced boundaries between its parts

Share This
💡 Improve your Rails app's maintainability with a modular monolith architecture #rubyonrails #modularmonolith

Key Takeaways

Learn how to structure a Ruby on Rails application as a modular monolith to improve maintainability and scalability

Full Article

Title: The Modular Monolith in Ruby on Rails

URL Source: https://dev.to/davidslv/the-modular-monolith-in-ruby-on-rails-3dh2

Published Time: 2026-06-24T18:10:00Z

Markdown Content:
[Skip to content](https://dev.to/davidslv/the-modular-monolith-in-ruby-on-rails-3dh2#main-content)

[![Image 1: DEV Community](https://media2.dev.to/dynamic/image/quality=100/https://dev-to-uploads.s3.amazonaws.com/uploads/logos/resized_logo_UQww2soKuUsjaOGNB38o.png)](https://dev.to/)

[Powered by Algolia](https://www.algolia.com/developers/?utm_source=devto&utm_medium=referral)

[Log in](https://dev.to/enter?signup_subforem=1)[Create account](https://dev.to/enter?signup_subforem=1&state=new-user)

## DEV Community

![Image 2](https://assets.dev.to/assets/heart-plus-active-9ea3b22f2bc311281db911d416166c5f430636e76b15cd5df6b3b841d830eefa.svg)0 Add reaction

![Image 3](https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg)0 Like ![Image 4](https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg)0 Unicorn ![Image 5](https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg)0 Exploding Head ![Image 6](https://assets.dev.to/assets/raised-hands-74b2099fd66a39f2d7eed9305ee0f4553df0eb7b4f11b01b6b1b499973048fe5.svg)0 Raised Hands ![Image 7](https://assets.dev.to/assets/fire-f60e7a582391810302117f987b22a8ef04a2fe0df7e3258a5f49332df1cec71e.svg)0 Fire

0 Jump to Comments 0 Save Boost

Copy link

Copied to Clipboard

[Share to X](https://twitter.com/intent/tweet?text=%22The%20Modular%20Monolith%20in%20Ruby%20on%20Rails%22%20by%20David%20Silva%20%23DEVCommunity%20https%3A%2F%2Fdev.to%2Fdavidslv%2Fthe-modular-monolith-in-ruby-on-rails-3dh2)[Share to LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fdev.to%2Fdavidslv%2Fthe-modular-monolith-in-ruby-on-rails-3dh2&title=The%20Modular%20Monolith%20in%20Ruby%20on%20Rails&summary=A%20Rails%20app%20grows.%20Changes%20in%20one%20corner%20start%20breaking%20another%2C%20two%20teams%20keep%20colliding%20in%20the%20same...&source=DEV%20Community)[Share to Facebook](https://www.facebook.com/sharer.php?u=https%3A%2F%2Fdev.to%2Fdavidslv%2Fthe-modular-monolith-in-ruby-on-rails-3dh2)[Share to Mastodon](https://s2f.kytta.dev/?text=https%3A%2F%2Fdev.to%2Fdavidslv%2Fthe-modular-monolith-in-ruby-on-rails-3dh2)

[Share Post via...](https://dev.to/davidslv/the-modular-monolith-in-ruby-on-rails-3dh2#)[Report Abuse](https://dev.to/report-abuse)

[![Image 8: Cover image for The Modular Monolith in Ruby on Rails](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftzvl54nxbve2vcdwju1r.png)](https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftzvl54nxbve2vcdwju1r.png)

[![Image 9: David Silva](https://media2.dev.to/dynamic/image/width=50,height=50,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3624184%2F01c672e3-dd69-4325-9522-1e1501b91553.jpeg)](https://dev.to/davidslv)

[David Silva](https://dev.to/davidslv)
Posted on Jun 24 • Originally published at [davidslv.uk](https://davidslv.uk/modular-monolith-rails/)

# The Modular Monolith in Ruby on Rails

[#ruby](https://dev.to/t/ruby)[#rails](https://dev.to/t/rails)[#monolith](https://dev.to/t/monolith)[#architecture](https://dev.to/t/architecture)

A Rails app grows. Changes in one corner start breaking another, two teams keep colliding in the same files, and eventually someone says the word _microservices_.

Almost always, that's the wrong instinct. What you usually need is a **modular monolith**: one deployable Rails app, with real, enforced boundaries between its parts. The interes
Read full article → ← Back to Reads