Someone on the bird site posted a long thread about micro services. They suggested 90% of businesses (especially small/medium sized ones) should forego micro services and stick with monoliths. I tend to agree.
WRT monoliths, many of us ignored best practices, willingly took on gobs of technical debt, and did a poor job of DevOps. I doubt micro services will "fix" any of that.
@DaveMasonDotMe Disclaimer: not a developer. Wouldn't micro services allow for easier updates, even within major monolithic apps, since they are inherently black boxes, thus limiting the scope of changes?
@elric Disclaimer: I'm a former developer, and no longer "hands on". 🙂
But, yeah...easier updates (and isolation) is one of the promises of micro services.
On the flip side, multiple copies of data (for each micro svc) seems to be a necessity. Keeping those copies in sync is not easy. And you lose the ACID/transactional nature that's likely in a monolith. (You may see this referred to as 'eventual consistency'.)
@elric
I'm certainly not suggesting one design is better than the other. Just that they're different...and have tradeoffs. If you did a poor job with one design, migrating to a different design won't save you.
@DaveMasonDotMe Thanks for taking the time to explain Dave. There never is a silver bullet in IT. A new paradigm, poorly done, is still poorly done I guess.
@DaveMasonDotMe interesting, good for thought.