Hacker News new | past | comments | ask | show | jobs | submit login

The whole problem starts with calling them microservices. Just call it a service oriented architecture please. The whole micro thing is already an indication of the kind of trouble you are getting yourself into. More respect to the monolith please.



Well, a service-oriented architecture is a more general category then microservices and has been around much longer. In many cases it is much more justifiable on technical grounds. Just to give one example. You have an API that is not the most stable thing in the world and when it misbehaves you do not want it to take the whole application down with it. So you put it in a separate service that can easily be restarted. That is a good technical reason for a separation of executables. Problems arise when people introduce these separations for no good reason. Then one gets all of the problems of RPC and none of the benefits. I.e., one is making things more complicated for no good reason.


> and has been around much longer

There's your problem. People understood the tradeoffs, so it needed a rebranding before it could go through another hype cycle.


This is key. Recently I've become a bit obsessed with naming, and not just because naming needs to be consistent and coherent - how you name something in software dictates how you will think about it, what concepts you will relate to it, etc. The name of one component can affect your entire architecture. I'm not sure how to validate it, but I believe that naming choices are almost as important as application architecture because of their effects on your thought process.


I'm going to build a lucrative personal brand / consulting business by hyping mesoservices, neither micro nor macro, just right.


Reality and Fiction mingle together...

"Mesoservices: Architecture for optimal trade-off between engineering and operations efficiency"

https://www.codemotion.com/talks/mesoservices-architecture-f...


Also known as "Goldilocks services". ;)


I couldnt tell if you were serious or joking, or a mix of both. I think in part because I had the same reaction when I heard about microservices. I thought:

"Uh... we had that back in the early 2000s at least, they called it SOA back then."

And yes we learned back then how painful and complex that kind of architecture was to reason about and support, compared to a simple monolith.

Monolith is truly king unless obviously you're at FAANG scales. 99%+ of shops are many orders of magnitude below that scale.


My favourite phrase here is "distributed systems", and that includes any system with discreete components that communicate over a network internally (i.e. consuming a third-party API does not count; obviously there would always be some gray areas).

And yes, a simple SPA is a distributed system, even if the backend is a monolith.


Another phrase I like to use is 'vertically integrated service'. You need to be vertically integrated to scale horizontally. That is the whole point of microservices after all.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: