Ingeniería para la Disponibili... Nota

Ingeniería para la Disponibilidad: Observabilidad, Pruebas y el Camino hacia Servicios de Back-End Sólidos

Contexto Un simple toque en un móvil puede desencadenar una serie de eventos en segundo plano: llamadas a la API a microservicios, mensajes/eventos enviados a través de colas, escrituras en bases de datos y reintentos ante fallos transitorios, todo antes de que devuelva un éxito... o un mensaje de error. El usuario no ve esta complejidad. No sabe sobre tu política de escalado automático, las tasas de aciertos en la caché o los gráficos de dependencias. Solo sabe si su viaje fue solicitado, si su pago fue procesado o si su pedido de comida fue confirmado. Y cuando las cosas van mal, es esa complejidad oculta la que determina cuán elegantemente se recupera tu sistema. Por eso, la fiabilidad ya no puede ser solo tarea del equipo SRE. Es una responsabilidad compartida, que debe estar integrada en las decisiones diarias de cada ingeniero de back-end. Desde la forma en que diseñamos los sistemas hasta cómo escribimos las alertas, enviamos el código y gestionamos los incidentes, la fiabilidad se diseña, no se desea.