2 ms·
Totally agree - I'm not against services but I say as few services as humanly possible! The issues with micro services are just so unbelievably large that it'd
by andy_ppp 6y ago
Totally agree - I'm not against services but I say as few services as humanly possible!
The issues with micro services are just so unbelievably large that it'd take too long to enumerate them here, but for me the largest issue is you are putting arbirary network partitions into your application and you CANNOT possibly know when these network partitions will suddenly make an operation you need to be atomic impossible (or at best eventually consistent).
In general it is excruciatingly difficult to iterate on micro services as well.
Then there is deployment, service mesh, k8s etc. etc. that you have to wrangle with, all because people refused to make bounded contexts in their application without making them into different services. It is much simpler to just design your monolith into separate contexts than it is to introduce all the error handling you need for network partitions.
I personally don't understand why Elixir isn't more loved by these micro services zealots - it allows you to get extremely far without adding network partitions and then allows you to switch to message passing when you need and then networked message passing all extremely smoothly as it makes sense for your app.
- SomeoneFromCA 6y agoThe best network layer is the memory controller of the CPU. Never breaks, no partitioning problems. If you really wnat for whatever reason uservices run it on one machine,