2 ms·
> If you're a company releasing changes daily / hourly, monoliths make progressively less sense and become progressively harder to work with. Counter argument:
by codethief 4y ago
> If you're a company releasing changes daily / hourly, monoliths make progressively less sense and become progressively harder to work with.
Counter argument: Your overall CI/CD infrastructure landscape will be much simpler and muss less error-prone.
As will be your release and test pipelines. For instance, if you have a few dozen microservices, each being released every other hour, how do you run E2E tests (across all services) before you release anything? Let's say you take your microservice A in version v1.2.3 (soon to be released) and test it against microservice B's current prod version v2.0.1. Meanwhile, team B is also working on releasing the new version v2.1.0 of microservice B and testing it against A's current prod version v1.2.2. Both test runs work fine. But no one ever bothered to test A v1.2.3 and B v2.1.0 against each other…
- upbeat_general 4y agoAnother issue is backwards compatibility. With microservices, you have to keep your old endpoints open until everyone has migrated, and make sure the new endpoint is always available when upgrading. Much simpler to verify with tests with a monolith.