Divs
Divs

Reputation: 1618

Can SOA and Microservices co-exist?

It is often documented to build a microservice based architecture from a monolith. Is it also possible to have microservices in SOA based architecture?

Upvotes: 3

Views: 1732

Answers (3)

Plamen G
Plamen G

Reputation: 4759

Yes, you can absolutely have both architectures in the same environment. Here is why:

Microservices Architecture is heavily inspired by SOA, so naturally principles used in both are very similar and there's often confusion between both. However, you should note that these paradigms differ in scope. Microservices Architecture is an approach to design an application in a specific way, while SOA aims to put order in communication between multiple heterogeneous applications (often in enterprise environment) in different domains, avoid point-to-point communication by having a middleware in place and generally reduce integration effort and increase ROI in the long term. SOA is not just an architectural approach but offers a whole new approach to optimize the IT domain in an enterprise. It often requires changes to processes and hierarchy, because a SOA governance body would need to be in place at some point to ideally enforce enterprise policies.

So in practice you'll very often see something like this - many application architecture styles in the same general SOA:

many application architecture styles in the same general SOA

Hope this helps.

Upvotes: 5

Naveen Kumar Patha
Naveen Kumar Patha

Reputation: 111

In simple terms Microservices is subset of SOA. You can refer to the following 9 characteristics of Microservice, they still do follow SOA design principles:

Componentization via Services

Organized around Business Capabilities

Products not Projects

Smart endpoints and dumb pipes

Decentralized Governance

Decentralized Data Management

Infrastructure Automation

Design for failure

Evolutionary Design

If you are referring SOA architecture implementing ESB, then using ESB does not necessarily makes you SOA compliant, unless you adhere to Service characteristics/service design principles of service during service design & modelling. Hence lets decouple Services & ESB. Fundamentally ESB is just an implementation of few non-functional elements of SOA.

Choosing a monolith application is a fundamental phenomenon to start with Microservices. However I strongly believe Microservices can be taken to much more business scenarios.

Upvotes: 1

Sean Farmar
Sean Farmar

Reputation: 2293

A lot of people relate to Microservices as SOA 2.0, so If I get your question correctly, you definitely can use both architectures in one project...

Upvotes: 0

Related Questions