A lot has been said on the internet about how Microservices Architecture (MSA) is different from a Monolith. But, less was talked about how it differs/matches up with the most significant way of designing distributed systems today, Service Oriented Architecture (SOA).
With this blog post, I would like to share my observations – as simple as I can.
As described here, there are eight core principles which define SOA.
On the other hand, MSA fundamentally is about doing single thing well which ties back to Service Composability principle (How to compose your service?). If you develop on to this idea further, you will realize MSA is always business domain driven because a Microservice is centered around business functionality (with clear boundaries) which customer witnesses directly. More on it on my Microservice blog here.
After several such developments, I have drawn this picture to indicate where SOA and MSA match and/or intersect with each other.