
Idempotency ensures data consistency, fault tolerance, safe retrying, caching and optimization; regardless of how many times it is performed.

The capacity to withstand a fault without failure is fault tolerance. Monitoring and measuring failure metrics is key to understand what is going on.

Systems coupling has several dimensions. Hence, decoupling each aspect can take you in a different direction with conflicting trade-offs.