TL;DR It's a good idea to use microservices for a team of three or four people that only handles one or two microservices. Otherwise, stay away!
...
For further actions, you may consider blocking this person and/or reporting abuse
Well, the points you make are certainly valid and for sure microservices (the proper) way may not make sense for any project (or indeed for any team, depending perhaps on size or simply on experience in general).
Speaking from my own experience (as many of these challenges are familiar), I have some observations:
There's something to be said about microservices though. In small teams it's hard to go for the proper approach. Between the need to have automated reliable processes in place for everything (DB dumps, for example). But in small teams you can go for an imperfect approach with larger services that could share some things, which is fine when communication lines are small. On the downside, it's not a good practice in the long run but it can be adapted if the team grows.
Also, DevOps. If you don't practice DevOps (in the proper meaning of the term), there's no way to grow into microservice adoption.
Hey, thanks for joining to the converstaion.
Let me reply a couple of points if you don't mind:
upgrading frameworks: Kind of true. You don't need to do it all the time, but sooner or later becomes technical debt and it just pile on top of everything else.
common dependencies: Same as above, it add up at the end.
debugging: I think your point is valid, there's a lot of good tools out there. But I'll argue that the complexity increases and dev cycle is more time expensive when working with a small team handling the whole app (more than three or four microservices). Also the learning curve needs to be taken into account.
The point that I was trying to prove is that, based in my experience, microservices adds complexity and as a team leader/product owner is hard to balance all the aspects of the system if you have a small team.
And just to be clear: I know I could have done things better, at the time I wasn't aware of some problems that I encountered later on, but I learned a lot from mistakes and maybe this could help someone else.
What's OpenTracing? Haven't heard
OpenTracing is a standard for defining methods of tracing (data structures, how tracing integrates across protocols, etc). It standardizes how tracing happens and how data is exposed to compatible client applications. Jaeger is a pretty well known CNCF project that implements OpenTracing (so does Zipkin).
opentracing.io/
I still haven't really figured out how to test microservices, which is one of the biggest downsides for me.
Test what exactly?
Integration and E2E between different microservices.
Individually testing microservices isn't as hard, depending on how you're building them.