Fault Tolerant

A critical benefit of the modular approach is increased fault tolerance. This Netflix post provides a more technical deep-dive into how API and other systems isolate failure, shed load and remain resilient to failures, implementing an approach they describe as the 'circuit breaker'.

This presentation describes the design approach as one of 'Anti-fragility'.


One key argued point is that microservices should be stateless. For example in the NetStack article 10 Commandments of Microservices, they describe:

One of the key advantages of microservices is the ability to scale rapidly. Like other distributed computing architectures, microservices scale better when they are stateless. Within seconds, multiple containers can be launched across multiple hosts.

This can cause challenges, such as considering the full scope including the network, as Lori McVittie explores in this blog, and in his blog Rick Hightower proposes the opposite, that stateful services are essential to 'High Speed Microservices'.