My understanding is that both in SOA and in Microservices modules should be independant and reusable. But what really distinguishes the two?
Both rely on the services as the main component but a lot of differences there. Few are below
SOA:
MicroService:
Follows “share-as-little-as-possible” architecture approach
Uses lightweight protocols such as HTTP/REST & AMQP
Single-threaded usually with use of Event Loop features for non-locking I/O handling
More focused on decoupling
Strong focus on DevOps / Continuous Delivery