Simon Brown says it nicely:
Architect Clippy is a bit more snarky:
In both cases, the message is the same: microservice architectures (MSAs), in and of themselves, are not necessarily “better”. There are aspects where moving to a distributed architecture from a monolithic one can improve a system (e.g. enabling selective load balancing and incremental deployment). However, if someone isn’t capable of building a modular monolith, distributing the pieces is unlikely to help matters.
See the full post on the Iasa Global site (a re-post, originally published here).
RE “if people can’t build monoliths properly, microservices won’t help” – It is just an assumption because solutions may be built on MSA rather differently that monoliths. For example, some “amount” of top-down design (thanks to BPM), stateful service & microservice orchestration and good enough devops.
See chapters 7 and 8 in http://improving-bpm-systems.blogspot.ch/2015/04/architecting-cloud-friendly-application.html
Thanks,
AS
LikeLike
While there are significant differences between microservice architectures and monoliths, they are mainly issues of additional complexity for the microservice-based system due to its distributed nature. If someone has trouble with things like separation of concerns, dependency management, etc. they will do a poor job with a monolithic architecture and a worse one with an microservice architecture.
LikeLike