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
------------------------------
Original Message:
Sent: 02-14-2017 13:02
From: Stefan Christoph
Subject: Microservices - Myth or Reality
sure thing - what are you interested in?
Shall we setup a call to discuss this=
------------------------------
Stefan Christoph
Principal Systems Architect
Vodafone Group
------------------------------
Original Message:
Sent: 02-05-2017 01:20
From: Puneet Dhawan
Subject: Microservices - Myth or Reality
@Stefan Can you share your experiences so far.
------------------------------
Puneet Dhawan
Saudi Telecom Company
------------------------------
Original Message:
Sent: 02-03-2017 04:15
From: Stefan Christoph
Subject: Microservices - Myth or Reality
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
------------------------------
Original Message:
Sent: 02-02-2017 02:02
From: Mohammad Hasan Ayaz
Subject: Microservices - Myth or Reality
Hi - What are micro services & how do they differ from SOA, ESB, API Management. Any Thoughts & experiences?
------------------------------
Mohammad Hasan Ayaz
Telenor Pakistan
------------------------------