3 ms·
> If we think about resilient systems, the most resilient systems are the ones with the least number of moving parts. The same is true for the fastest systems.
by dastbe 5y ago
> If we think about resilient systems, the most resilient systems are the ones with the least number of moving parts. The same is true for the fastest systems.
in some sense yes, in some sense no. a monolith with a denial of service vector in part of its functionality can suddenly take down your entire fleet because everything was exactly the same.
in much the same that domestic bananas are more or less one virus/bacteria away from being wiped out (again), a monolith very susceptible to any kind of correlated failure because the blast radius is most likely the entire monolith.
- goodpoint 5y ago> a monolith with a denial of service vector in part of its functionality can suddenly take down your entire fleet because everything was exactly the same. Just like a microservice can bring down the core functions of your service because a single component locks up under DoS
- Tabular-Iceberg 5y agoCouldn’t this be solved at the load balancer level by only allowing each running instance of the monolith to serve its own subset of the routes? It can even be done dynamically on the fly. If the instances begin to struggle, divide them in half and see which half has the problem. Then divide that one in half, and so on, until you have isolated the problem. Then stop those requests altogether and have capacity over for all the people desperately hitting F5. So now you have both DOS resilience and independent scaling, all without requiring any changes to the architecture or knowing in advance exactly what you should have factored out into its own service.