Reputation: 1618
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
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:
Hope this helps.
Upvotes: 5
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
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