> A period of hypergrowth at Segment, around 2016-2017, added over 50 new destinations, about three per month. Having a code repository for each service was manageable for a handful of destination workers, but became a problem as the scale increased.
I’m not familiar with what Segment does, but this sounds like just a bad design, not anything to do with Microservices vs Monolith. Why does each “destination” need its own repo? Surely they could come up with an abstraction for a “destination” and create a solution that works for all destinations, with the differences between them captured in the configuration of the service.
Is there a particular reason why this discussion is always a matter of all or nothing? And companies bounce back & forth between them unhappy with both?
Is there not a viable paradigm in the middle somewhere
> A period of hypergrowth at Segment, around 2016-2017, added over 50 new destinations, about three per month. Having a code repository for each service was manageable for a handful of destination workers, but became a problem as the scale increased.
I’m not familiar with what Segment does, but this sounds like just a bad design, not anything to do with Microservices vs Monolith. Why does each “destination” need its own repo? Surely they could come up with an abstraction for a “destination” and create a solution that works for all destinations, with the differences between them captured in the configuration of the service.