Disclaimer
I hope I am not stepping on anyone's toes or offending either concepts' enthusiasts
Background
I have been looking for real differences between Service Oriented Architecture and Microservices, without finding any clear answer.
I read things like:
- the side effects of SOA
- SOA being anti-pattern
- Microservices came to fix SOA's failures
- ESBs are not really ESBs instead they are EAIs
- Over-reliance on Message Brokers
- Vendors are abusing the notion of SOA and trying to sell their products
- SOA grows uncontrollably
But still, nothing clearly defines architectural differences between Service Oriented Architecture (as a concept) and Microservices (as a concept)
According to what I understood, they both have:
- Service Providers, doing only one thing
- Service Gateway/ESB exposing those services to consumers
- Service Consumers, accessing services via ESB/Service Gateway
Question
So, is there anything different other than relabeling SOA into Microservices? is it a technology constraint placed to limit Microservices from becoming macro?
Note: I am not looking for opinions, only hard facts, hopefully in bullet points
References
- Software Engineering Questions
- Martin Fowler's Site (I think he hates it big time)
- Info world
- Michael Fethers' Website