Micro MonolithTM is Remote Service aiming for the right size.
- A cluster of a few modules each prepared to potentially become a microservice. Or just stay as it is.
- MicroService that never had more than one client is the most expensive microservice. Keep it as a module.
- Micro Monolith is internally made of decoupled modules.
My Micro Monolith is not one executable. It is deployed with clear-cut boundaries made possible by having modules in a container. Modules, remote to each other. My Micro Monolith architecture concept is NOT to keep the hardware, software, and data close together in one place.
Hint: one can actually develop .NET core Linux service easier now than before. Yes, each with the Kestrel running inside. So you will have your own little constellation of remote modules running inside your micro monolith ™ and talking HTTP to each other. Isn’t that just perfect?
If you are into Linux C shenanigans here is how you talk to/from services in a standard way.
If you like Windows container pain here is Kestrel inside Windows service.