This is something I think Django got much more right than Rails - it encourages splitting up of "sites" into smaller "apps", where an app is a bundled set of model/view/controller/routing and maybe a few other things. We exercise this design pattern a lot on the project I work on (we have ~350 apps in our monolith) and it's mostly a very nice codebase to work on.
I think microservices become far less necessary when the monolith is structured in this way. I'd rather have a clean API to a subsystem exposed as a Python function call than as an HTTP endpoint with all the reliability and distributed systems issues that come along with that.
I think microservices become far less necessary when the monolith is structured in this way. I'd rather have a clean API to a subsystem exposed as a Python function call than as an HTTP endpoint with all the reliability and distributed systems issues that come along with that.