| ▲ | adamwong246 3 days ago | |||||||
the problem with "microservices" is the "micro". Why we thought we need so many tiny services is beyond me. How about just a few regular sized services? | ||||||||
| ▲ | dragonwriter 3 days ago | parent | next [-] | |||||||
At the time “microservices” was coined, “service oriented architecture” had drifted from being an architectural style to being associated with inplementation of the WS-* technical standards, and was frequently used to describe what were essentially monoliths with web services interfaces. “Microservices” was, IIRC, more about rejecting that and returning to the foundations of SOA than anything else. The original description was each would support a single business domain (sometimes described “business function”, and this may be part of the problem, because in some later descriptions, perhaps through a version of the telephone game, this got shortened to “function” and without understanding the original context...) | ||||||||
| ▲ | nhumrich 3 days ago | parent | prev | next [-] | |||||||
Micro is a relative term. And was coined by these massive conglomerates, where micro to them is "normal sized" to us. They work better if you ignore what "micro" normally means. But "not too too large services" doesn't quite roll off the tongue. | ||||||||
| ▲ | jayd16 3 days ago | parent | prev | next [-] | |||||||
I always took it to be a minimum and that "micro" meant "we don't need to wait for a service to have enough features to exist. They can be small." Instead, people see it as a maximum and services should be as small as possible, which ends up being a mess. | ||||||||
| ▲ | 9rx 3 days ago | parent | prev | next [-] | |||||||
"Micro" refers to the economy, not the technology. A service in the macro economy is provided by another company. Think of a SaaS you use. Microservices takes the same model and moves it under the umbrella of a micro economy (i.e. a single company). Like traditional SaaS, each team is responsible for their own product, with communication between teams limited to sharing of documentation. You don't get to call up a developer when you need help. It's a (human) scaling technique for large organizations. When you have thousands of developers they can't possibly keep in communication with each other. You have to draw a line between them. So, we draw the line the same way we do at the global scale. Conway's Law, as usual. | ||||||||
| ▲ | andix 3 days ago | parent | prev | next [-] | |||||||
They were never meant to be tiny, in the sense of just a few hundred lines of code. The name was properly chosen poorly and led to many confusions. | ||||||||
| ▲ | edude03 3 days ago | parent | prev | next [-] | |||||||
Kind of - AFAIK "micro" was never actually throughly defined. In my mind I think of it as mapping to one table (IE, users = user service, balances = balances service) but that might still be a "full service" worth of code if you need anything more than basic CRUD | ||||||||
| ||||||||
| ▲ | pan69 3 days ago | parent | prev | next [-] | |||||||
I have always understood "micro" to be referring to "scope", not to "size". | ||||||||
| ▲ | SrslyJosh 3 days ago | parent | prev [-] | |||||||
Because it's simpler, duh. </sarcasm> | ||||||||