5 ms·
It seems that apart from scaling your concerns boil down to enforcing discipline? Perhaps there are methods of enforcing discipline that don’t involve serializo
by DenisM 8y ago
It seems that apart from scaling your concerns boil down to enforcing discipline? Perhaps there are methods of enforcing discipline that don’t involve serializomg and deserializing a bunch of data several times per request.
- dave_sid 8y agoBingo! Agreed. You’ve summed it up brilliantly. Other than the scaling advantages, micro-services mainly thrive as a method of strictly enforcing separation of concerns. Maybe that’s a good reason to use them. Or maybe there are other ways to do this without incurring the management overhead of micro services. Who knows. Also, I’m not entirely sold on the horizontal scaling advantages either. Are you building a website that’s going to have to scale to millions of requests per second at the click of a button? Probably often not.
- philwelch 8y ago"Strictly enforcing separation of concerns" is not a great argument. If feature teams don't have the technical maturity to handle separation of concerns, they'll make an even bigger hash out of the extra resiliency, testing, and other overhead introduced with microservices.
- threeseed 8y agoMonoliths have been around for decades and much smarter people than me have been thinking about this problem. Unfortunately there is just no way to enforce discipline because monoliths sometimes demand unintuitive behaviour. Often it is better to cut/paste code than it is to link from one module to another. And don't forget that when a deadline hits developer are often forced to do things that aren't always architecturally sound. Microservices forces isolation between modules.
- DenisM 8y agoPerhaps I should have said "there should be methods of enforcing discipline". As in, "we should make/find them". In .NET you could compile individual assemblies separately and use technical measures to prevent developers from one component from touching code in the other component. The external surface of the assembly would be its API, only no network traffic is required. Does this give us enough discipline, in your opinion?
- batiste 8y ago> Often it is better to cut/paste Micro service surely put the dream of code sharing to REST. Not sure it is a good thing.
- not_kurt_godel 8y ago> serializomg I realize this was a typo but first thought it was an awesomely-named serialization library :)