Open APIs

Expand all | Collapse all

Microservices - Myth or Reality

  • 1.  Microservices - Myth or Reality

    TM Forum Member
    Posted Feb 02, 2017 07:31
    Hi - What are micro services & how do they differ from SOA, ESB, API Management. Any Thoughts & experiences?

    ------------------------------
    Mohammad Hasan Ayaz
    Telenor Pakistan
    ------------------------------


  • 2.  RE: Microservices - Myth or Reality

    Posted Feb 03, 2017 06:51
    Microservices is the new Reality .

    Please find below the comparison on how its different from the rest

    Microservices, SOA, and APIs: Friends or enemies?
    Ibm remove preview
    Microservices, SOA, and APIs: Friends or enemies?
    Comparing a microservices architecture and service-oriented architecture (SOA) is a sensitive topic and often cause for a swift source of disagreement. This article examines where these controversies stem from and considers how best to resolve them. It then looks forward to see how these concepts are combining with those of API management to enable more agile, decentralized, and resilient enterprise architectures.
    View this on Ibm >


    ------------------------------
    Umer Shahbaz
    Telenor Pakistan
    ------------------------------



  • 3.  RE: Microservices - Myth or Reality

    TM Forum Member
    Posted Mar 01, 2017 14:17
    Hi everyone, I want to know if TMForum has an official definition or statement about microservices. Thank you!

    ------------------------------
    Maria Eugenia Armijo Marchant
    CableVision, SA
    ------------------------------



  • 4.  RE: Microservices - Myth or Reality

    Posted Feb 03, 2017 06:51
    Hi,

    like in most of the cases, Martin has a good view on this topics.
    I suggest you give Microservices
    martinfowler.com remove preview
    Microservices
    "Microservices" - yet another new term on the crowded streets of software architecture. Although our natural inclination is to pass such things by with a contemptuous glance, this bit of terminology describes a style of software systems that we are finding more and more appealing.
    View this on martinfowler.com >
    a read.

    So there are different takes on what Microservices are. My take is that it is not conflicting with SOA, but putting it on the next level by applying more constrains on how services are modelled and - even more important - how they are implemented.
     We made experiences with Microservices already and I'm happy to share those too.

    Kind Regards
    Stefan Christoph

    ------------------------------
    Stefan Christoph
    Principal Systems Architect
    Vodafone Group
    ------------------------------



  • 5.  RE: Microservices - Myth or Reality

    TM Forum Member
    Posted Feb 05, 2017 08:52
    @Stefan Can you share your experiences so far.

    ------------------------------
    Puneet Dhawan
    Saudi Telecom Company
    ------------------------------



  • 6.  RE: Microservices - Myth or Reality

    Posted Feb 14, 2017 13:46
    sure thing - what are you interested in?
    Shall we setup a call to discuss this=

    ------------------------------
    Stefan Christoph
    Principal Systems Architect
    Vodafone Group
    ------------------------------



  • 7.  RE: Microservices - Myth or Reality

    Posted Feb 20, 2017 02:09
    Hi,

    I build over the years some monolithic applications, SOA and microservices. Microservices are definitely a reality and the way to go in my opinion.
    The main difference I have noticed between the all different approaches to architecting software and microservices is that microservices take longer to develop: it's not just anymore a function call via Inversion of Control (to follow best practices), but you add an API layer in front of that function, so it's added code for the caller and the called. It also adds complexity in terms of the transport layer you are using.
    HTTP REST is great, but even on internal networks, you need to handle retries, or asynchronousity.
    Message queues (like kafka, rabbit MQ), scale really well, have guaranteed delivery features, but are a bit harder to implement.
    You could even try an ESB, although I think these are a dead idea now.

    That being said, whilst the initial developing time is increased (I would say by 50% in worst case scenarios), the maintenance time is drastically reduced by over 400% in my experience. Iterations are easy, agile scrum fits well, with a good application scaling strategy (like consul + zuul) you can only duplicate the services which require it, rather than your whole vertical slice. Adding new (significant) features is a breeze: Add a new service, you are not messing up with old code, potentially introducing bugs or breaking it (even with a good 95% unit test coverage). In short once you have gone through the pains of creating your first microservice stack, ironed out the continuous development, continuous integration, the transport layer resilience etc... everything else become so much more easier, and cheaper. You also have the freedom to use the best programming language for the job. Java Spring can talk to golang services, or even some python running some deep learning algorithms. 

    If you have any specific questions or technology suggestions, let me know.

    ------------------------------
    Julien
    ------------------------------



  • 8.  RE: Microservices - Myth or Reality

    Posted Feb 20, 2017 07:43
    You might consider the Backends For Frontends pattern to start with Microservices. We've used BFFs to build new APIs for Frontends while Backend services are still offered by SOA, ESB or legacy monoliths.

    Sam Newman - Backends For Frontends
    Samnewman remove preview
    Sam Newman - Backends For Frontends
    Backends For Frontends solve a pressing concern for mobile development when using microservices. In addition they provide a compelling alternative to the general-purpose API backend, and many teams make use of them for purposes other than just mobile development.
    View this on Samnewman >


    ------------------------------
    Dennis Kieselhorst
    ------------------------------



  • 9.  RE: Microservices - Myth or Reality

    Posted Feb 21, 2017 10:04
    Hi Julien

    Congratulations and thanks for sharing your great feedback.  
    I really liked the facts and challenges you mentioned upfront and the benefits of moving over to micro-services.

    In this age of Agility and innovations, micro-services is the only way to go.

    Regards

     

    ------------------------------
    Manoj Saxena
    Tata Communications Ltd
    ------------------------------



  • 10.  RE: Microservices - Myth or Reality

    TM Forum Member
    Posted Feb 21, 2017 17:48
    Microservices are excelling approach if services are consumed by multiple clients like Mobile Apps, iPhone Siri, Amazon Alexa, Chat Bots etc

    ------------------------------
    Ankur Doshi
    Head of integration Platform,
    MobileAware USA Inc.
    ------------------------------



  • 11.  RE: Microservices - Myth or Reality

    Posted Mar 06, 2017 07:36
    Hi everyone!

    Just to ilustrate how it can be done, I'm sharing my experience: I'm using Netflix OSS stack to implement the microservices. There are a lot of tecniques to deal with the problems like availability and retries like circuit breaking and client-side load balance. Our architecture consists in a segregated channel layer - where the backend-for-frontends resides - and in a microservices layer. I'm using Spring Cloud framework + Docker to implement the microservices but in near future I'm considering to have some of them implemented in Lagom Framework.

    Cheers!

    ------------------------------
    Rafael Stirling
    Oi S/A
    ------------------------------



  • 12.  RE: Microservices - Myth or Reality

    TM Forum Member
    Posted Mar 09, 2017 03:10
    Someone Asked for a  handy definition of Microservices.

    This is one we like from Gartner

    A microservice is a tightly scoped, strongly encapsulated, loosely coupled, independently deployable and independently scalable application component. Microservice architecture (MSA) is a design paradigm, based on a combination of SOA and domain-driven design (DDD), that enables ability and scalability.

    The important part is 'independently deployable and independently scalable application component' Its the backend implementation that makes a micro service not the interface or how its exposed.

    John-



    ------------------------------
    John Basevi
    Telefonica UK Limited
    ------------------------------



  • 13.  RE: Microservices - Myth or Reality

    TM Forum Member
    Posted Mar 10, 2017 07:45
    Thank you @John Basevi, I agree with that definition as the most precise and useful.

    ------------------------------
    María Eugenia Armijo Marchant
    CableVision, SA
    ------------------------------