DEV Community

Discussion on: What’s an unpopular software opinion you have?

Collapse
 
geosoft1 profile image
George Calianu • Edited

Some of the big applications, yes.

Thread Thread
 
rhymes profile image
rhymes

But how do you know if the app is going to be big when you start? That's why people usually suggest to start with a monolith (or with a serverless architecture more and more lately)

Seriously speaking: I think you can/should do microservices only when you have a big organization or if you have very specific requirements.

Because microservices change everything: how you deploy, who is responsible for what, team boundaries, monitoring and observability tools, feature isolation, how you test and so on.

If you don't have vertical teams responsible for a few indipendent microservices you run the risk of running a distributed monolith.

What do you think about that risk?

Thread Thread
 
geosoft1 profile image
George Calianu • Edited

Well, that's why this opinion is unpopular.
I saw many big applications (like ERPs) which are very slow and need very expensive resources for very small results. If their authors (who are pretty big companies) would aproach microservices the performance of the applications would be more than better. Indeed this need a very good and clear software architecture and a biger team (team who usually exist, or can be easy extended).
I guess an important point is chosing technologies because implementing microservices, for example, in Go is much easier than on a LAMP stack. So, i know that adopting newest technologies can be sometimes descouraging but using right tools microservices can be easier than seems not only for the biggest companies.