Interview: Why Microservice Architecture and not SOA

  1. Reusability: One of the goals of SOA is to reuse components without worrying about coupling while in microservices weak coupling is preferred, even if it means having code duplication.
  2. Communication: In SOA, communication between services is usually done synchronously through an enterprise service bus (ESB), this introduces a critical point of failure and latency. In MS Asynchronous communication is also privileged between services (for example a publish subscribe model can be used to allow a service to stay up to date on changes to another one’s data), enabling high availability.

Advantages —

  1. Independent Development
  2. Independent deployment
  3. Independent scaling
  4. Data isolation: In a microservices architecture, each service has private access to its database (ideally), we can then perform an update of the database schema without affecting the other services.
  1. Data Integrity: Microservices have a distributed database architecture, which is a challenge for data integrity. Some business transactions, which require updating multiple business functions of the application, need to update multiple databases owned by different services. This requires setting up eventual consistency of data
  2. Network latency: Using many small services can result in increased communications between services.synchronous communications should be favored when usage permits

Orchestration vs Choreography

In a microservices architecture, it is inevitable that some services need to communicate with each other, these communications can be achieved in two ways, orchestration or choreography.

Choreography

The solution is to use events with a publish-subscribe model. Communication is asynchronous and services are unaware of each other, therefore the system is efficient and easy to maintain on a large scale.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
vishal gupta

vishal gupta

Software Architect, Author, Trainer