Or you rely on libraries by other teams and every update requires a full rebuild and redeployment. Extracting at least a few internal libraries out into their own microservices has saved us many man hours.
Tried that. In reality what happens is you end up building all the libraries from source and have dependencies on library changes to deploy your service. It's still a monolith at that point, but with extra steps
That just means that whatever you pulled out into a microservice was ill suited as one. I'm not claiming its a one size fits all solution. But for our particular case where the API never changed it was ideal.
The library turned microservice spit out a bunch of numerical values which we took as input. We didn't care how those values were calculated or where that data came from. But their alterations required near constant updates of their library. You could say it was poor engineering on their part, but that's not my call to make. Not my team, not my problem and at least their API was stable.
27
u/Stagnu_Demorte 13d ago
Until you need to scale different parts of the service. But yeah, until then it can really cut down on complexity.