Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between SOA and Microservices

Ok, as far as I've understood both in SOA and in Microservices modules should be independant and reusable. But what really differs SOA and Microservices ?

like image 535
Davit Karapetyan Avatar asked Jan 10 '18 14:01

Davit Karapetyan


2 Answers

Both rely on the services as the main component but a lot of differences there. Few are below

SOA:

  • Follows “share-as-much-as-possible” architecture approach
  • Supports multiple message protocols
  • Multi-threaded with more overheads to handle I/O
  • Maximizes application service reusability
  • Not focussed fully into DevOps / Continuous Delivery

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

like image 99
kavita Avatar answered Sep 21 '22 18:09

kavita


Microservices Architecture is not an invention. Enterprises such as Amazon, Netflix, and eBay used the divide and conquer strategy to functionally partition their monolithic applications into smaller units, and resolved many issues. Following the success of these companies, many other companies started adopting this as a common pattern to refactor their applications. Eventually the pattern was termed as Microservices Architecture. Nothing radically new has been introduced in MSA. MSA is the logical evolution of SOA and supports modern business use cases.

enter image description here

Microservices vs SOA: How Are They Different?

like image 29
Mahbubur Rahman Avatar answered Sep 19 '22 18:09

Mahbubur Rahman