3 ms·
The reality is this is how you design highly available systems, and it is also imo one of the reasons microservices have gained so much popularity. Driving fea
by roganartu 8y ago
The reality is this is how you design highly available systems, and it is also imo one of the reasons microservices have gained so much popularity.
Driving features with microservices makes it easier to isolate their failure and just fall back to not having that feature. The trade off is that monoliths are generally easier to work with when the product and team are small, and failure scenarios with distributed systems are often much more complex.
An analogy to your Google failure examples for slack might be something like the "somebody is typing" feature failing for some reason. In an SoA you would expect it to just stop working without breaking anything else, but one could easily imagine a monolith where it causes a cascading failure and takes the whole app down. Most services have countless dependencies like this.