La tolerancia a fallos comienza por definir claramente el problema del fallo: qué puede fallar, qué suposiciones son seguras y cómo debe comportarse un sistema distribuido bajo estrés. Este curso desarrolla los conceptos fundamentales y los patrones de diseño que sustentan los servicios resilientes, abarcando desde el confinamiento y el consenso hasta la recuperación, la mensajería, la observabilidad y el comportamiento de respaldo. Está dirigido a quienes diseñan o mantienen sistemas distribuidos y buscan una guía práctica sobre las compensaciones (*trade-offs*) que determinan la fiabilidad del software.
El curso abarca modelos y supuestos de fallo, redundancia y contención de fallos, quórums, consistencia y consenso, así como durabilidad y mecanismos de recuperación de datos. También trata los reintentos, la idempotencia, la contrapresión, la mensajería asíncrona resiliente, la observabilidad para el aislamiento de fallos y la degradación gradual con mecanismos de respaldo seguros.