Open APIs

 View Only
  • 1.  Microservices Vs SOA

    Posted Jul 01, 2017 22:36
    What is the difference between microservices and SOA?

    ------------------------------
    AS
    ------------------------------


  • 2.  RE: Microservices Vs SOA

    Posted Jul 03, 2017 01:34
    Edited by Aaron Spiteri Jul 03, 2017 01:39
    It is my understand that SOA allows sub components of a IS system to communicate with each using a defined non implementation based protocol so that the communication is implementation agnostic.  Microservices is much the same thing but on a much more granular level. In a microservices platform components from within a specific sub application communicate using a common platform such as REST or SOAP.

    This idea behind microservices is that this will allow for High Availability (HA),  because you can replace sub components in real time.  However the implementation of services comes with significant expense, and there the line between when something is SOA and microservices is very gray.

    An example of this would be the Billing System may communicate with the Payment Gateway using a RESTFul interface in SOA, in Microservices the sub-component of the Billing System that generates the invoice will communicate with the communicate with the sub component that communicates to the Payment Gateway with in the billing system using a RESTFul interface.  The con is that microservices are adding a lot more moving parts, the perceived benefit is that if a invoice generator goes off line another one can be hot-fixed in the infrastructure.

    ------------------------------
    Aaron Spiteri
    iiNet Limited
    ------------------------------



  • 3.  RE: Microservices Vs SOA

    TM Forum Member
    Posted Jul 03, 2017 01:38
    Edited by Vinoth Somasundaram Jul 03, 2017 02:50
    To my knowledge 'Micro Service' is a concept that evolved in recent times, through which you can achieve an Service Oriented Architecture.

    SOA talks at a high level about components/systems in an ecology talking to each other through services - through which you can achieve loose coupling, re-usability, vendor and technology independence. For example you an replace one of your  'Trouble ticket Management' system for which you pay a hefty license fee with some other Open Source Trouble Ticketing System, so that you can save on your license cost. And this can happen only if your systems are SOA compliant. This has become one of the Major Selling point and every vendor ensures that his system is SOA compliant.

    Microservice Architecture - further drills down and advises you to break down your Application / component into granular, independently deploy-able services. This is about developing software applications as a suite of independently deploy-able, small, modular servicesEach service runs as an unique independent process so that it can be updated / upgraded in isolation without effecting other services. This way the  service can be replicated / scaled in isolation for a high availability requirements.

    In a nut shell - SOA recommends your Applications to be Service Oriented, and Micro Service explains the 'How' part -- about the one of the best ways of developing, building and composing your services in within your application.


    ------------------------------
    Vinoth Somasundaram
    Ericsson Inc.
    ------------------------------



  • 4.  RE: Microservices Vs SOA

    Posted Jul 03, 2017 02:39
    In addition to the previous answers, the term "microservices" refers to an architecture pattern, widely used by Amazon and Google, which aims to consider the implementation of a service as an autonomous application, at any point of view :
    - design : a single team is dedicated to the end-to-end design of the service
    - implementation : the service is implemented in a dedicated and autonomous software component
    - deployment : the service can be deployed in the cloud independently of the other services
    - execution : the service component is executed in a dedicated container (docker for example)
    - run : the supervision, maintenance, and patch deployment are also independent

    So, in a technical point of view, a service implementation in a microservices architecture can be seen as a single physical application. However, it does meen that each service is a logical application : in terms of organization, it is still recommanded to gather services linked to a specific business area into a same business application, with a dedicated team skilled on this business area. 

    You will find a good article on micro-services here : https://martinfowler.com/articles/microservices.html


    To conclude, there is no opposition between SOA and  microservices : microservices is just a good organizational and technical way to implement SOA.

    Regards



    ------------------------------
    Matthieu LEMOINE
    Senior Enterprise Architect
    Sopra Steria - Telecom, Media & Entertainment
    ------------------------------



  • 5.  RE: Microservices Vs SOA

    Posted Jul 03, 2017 11:22
    Edited by Arpit Shrimal Jul 03, 2017 11:25
    Thanks Aaron,Vinod and Matthieu!

    SOA is focused on creating reusable services which can be used across multiple enterprise processes where as Microservices focus on creating independent services specific to a  process so that they can be deployed faster. Is it right to say that Microservices design principles focus more on Agility than reusability ?

    ------------------------------
    AS
    ------------------------------



  • 6.  RE: Microservices Vs SOA

    TM Forum Member
    Posted Nov 20, 2017 08:34
    ​SOA is focused on creating reusable services which can be used across multiple enterprise processes where as Microservices focus on creating independent services specific to a  process so that they can be deployed faster. Is it right to say that Microservices design principles focus more on Agility than reusability ?

    Hello Arpit,

    The agility that microservices provide is also partly due to its characteristic of reusability.

    There are many other subtle differences between SOA and microservices - although the concepts are essentially similar for both.

    - Microservices don't have a single point of failure and hence they don't necessarily have a single orchestration process/program/service which manages orchestration for the entire stack.
    - Microservices have individual, decentralized databases, deployments and governance
    - Microservices are designed to handle and manage failures

    Thanks,
    Janit.

    ------------------------------
    [Janit] [Vora]
    [Enterprise Architect]
    [Tata Consultancy Services]
    ------------------------------



  • 7.  RE: Microservices Vs SOA

    Posted Nov 21, 2017 00:46
    Microservices soa done right.

    ------------------------------
    Luis Martins
    Kafein Technology Solutions
    ------------------------------



  • 8.  RE: Microservices Vs SOA

    Posted Nov 21, 2017 01:24
    In essence, not all SOA services are micro services !. Only if service is designed with intent to be independently deployed and managed to handle graceful degradation in enterprise architecture, it becomes a useful service or micro service.

    ------------------------------
    venkata kalyan rajesh gottumukkala
    IBM Corporation
    ------------------------------