> 1. I fervently believe, after having lots of experience with both microservices and monoliths, that microservices do not provide any technical advantage over monoliths. If anything, they can make a lot of technical details more difficult.
Sure, monoliths are certainly easier to work with, and I think they should be the default starting point for most companies.
But regarding technical advantages, what if different parts of the program have different performance profiles and scale differently?
If a single code base has multiple non-isolated deployables designed to be published simultaneously, and/or having a shared data store, is it a collection of microservices or a monolith? I've taken to calling it a scalable monolith.
Sure, monoliths are certainly easier to work with, and I think they should be the default starting point for most companies.
But regarding technical advantages, what if different parts of the program have different performance profiles and scale differently?