3 ms·
I've settled on a compromise in this debate. Halfway between monoliths and microservices is the shared-library model. Instead of creating a microservice for you
by bkanber 7y ago
I've settled on a compromise in this debate. Halfway between monoliths and microservices is the shared-library model. Instead of creating a microservice for your image processing, break it out into a standalone NPM or Composer or whatever module, then use that in your monolith. Gives you good separation of code and responsibilities, gives you good upgrade paths for your monoliths, avoids the overhead of microservices.
- buckminster 7y agoJust like we were doing with COM and DLLs more than twenty years ago! It worked very well.
- bkanber 7y agoYes, exactly! Everything old is new again.
- aliswe 7y agoNot trying to cargo cult, but what about the 12-factor stance that shared code is an anti-pattern?
- bkanber 7y agoSorry, but I don't think that's part of the 12-factor app. The 12-factor guideline is that apps shouldn't be dependent on implicit dependencies (I dunno, like having imagemagic installed on the system), but instead should use a dependency management system (like NPM or Composer). So I don't think the statement "shared code is an anti-pattern" is true. But I could be wrong, haven't read the 12 factors in a while...