Video: https://railsconf.com/2020/video/vladimir-dementyev-between-monoliths-and-microservices
Code: https://github.com/palkan/engems
Rails applications tend to turn into giant monoliths. Keeping the codebase maintainable usually requires architectural changes. Microservices? A distributed monolith is still a monolith. What about breaking the code into pieces and rebuild a monolithic puzzle out of them?
In Rails, we have the right tool for the job: engines. With engines, you can break your application into components—the same way as Rails combines all its parts, which are engines, too.
This path is full of snares and pitfalls. Let me be your guide in this journey and share the story of a monolith engine-ification.