4 ms·
I'm just curious if there is a middle ground somewhere? On one end you have a giant monolith. All services rolled into one which includes your API, Middle ware
by me551ah 6y ago
I'm just curious if there is a middle ground somewhere?
On one end you have a giant monolith. All services rolled into one which includes your API, Middle ware and then Database.
One the other end you have microservices which bundle services into individual distinct units with each service being responsible for its API, middleware and database.
Are there any preexisting patterns which seek to combine these two and come up with an architecture which is midway between those two. A few months ago I had read an article about Data Oriented Architecture on HN which comes close though I'm wondering if there are others.
- bencollier49 6y ago> which includes your API, Middle ware and then Database Layered microservices are an antipattern. In most cases, functionality is best divided by domain.
- thinkharderdev 6y agoThis is why I struggle with microservice architectures. It seems like there is a basic contradiction. On the one hand, it's vitally important that the microservices are carved into the correct modules otherwise you get a nightmare of operational complexity where simple functional changes require coordinated changes across multiple services. But defining the correct way modules requires a bird's-eye architectural view of the entire system, which seems contradictory to idea of self-organizing, independent teams. I can see how it works when the right way to divide things up is obvious or when you are dealing with IaaS or PaaS services, but in a complex business domain who decides how to carve things up?
- marcosdumay 6y ago> In most cases, functionality is best divided by domain. So, SOA?
- ulshv 6y agoService-Oriented architecture? This node.js framework specifically implements it: https://feathersjs.com https://feathersjs.com (as an example)
- boffinism 6y agoThere's what DHH calls the 'Citadel' architecture, which is basically you carve off a few small chunks from your monolith where needed and call them 'outposts': https://m.signalvnoise.com/the-majestic-monolith-can-become-the-citadel/ https://m.signalvnoise.com/the-majestic-monolith-can-become-...