Corrección automática de errores
1) Objetivos y principios
Objetivo: reducir el MTTR y evitar la escalada de incidentes, manteniendo el SLO, los ingresos y el cumplimiento.
Principios:- SLO-first: Las acciones automáticas sólo están permitidas cuando hay una amenaza confirmada al presupuesto de errores.
- Seguridad sobre todo: mínimo blast-radius, límites explícitos y timebox.
- Explotable por diseño: cada acción es explicable y auditable.
- Rollback-preparación: cualquier paso se acompaña de criterios de devolución.
- Human-in-the-loop donde el riesgo es alto: Cambios P1-críticos - a través de control dual o confirmación IC/on-coll (a menos que la política establezca lo contrario).
2) Términos
Auto-remediación: respuesta programática a un evento (alerta/anomalía) sin participación humana.
Guardrails: política de restricciones (umbral, duración, número de intentos, zona de impacto).
Runbook-Action: operación atómica con comprobaciones previas/posteriores y descargas.
Motor de decisión: servicio que asigna un evento a directivas y ejecuta acciones.
3) Arquitectura de soluciones
1. Señales: SLO/burn-rate, KRI, sintética, RUM, deep-health.
2. Correlación de contexto: lanzamientos, fichas, trabajos programados, proveedores dependientes.
3. Motor de decisión: reglas/políticas (policy-as-code), evaluación de impacto y riesgo, selección de escenarios.
4. Ejecución: Orquestador de acciones runbook (idempotencia, retraídas con jitter).
5. Control: pre-validadores, post-verificadores, timebox, retroceso.
6. Auditoría y observabilidad: trace de acción, métricas de éxito, registro (WORM/immutable).
7. Comunicación: status page (vía Comms Lead), war room, macros para sapport.
4) Políticas y tolerancias (policy-as-code)
Ejemplos de condiciones (pseudo-rego/lógica): Failover PSP:- `allow if burn_rate(payments. auth) > fast && impact>threshold && psp_alt. healthy && within_limits("psp_reroute")`
- `allow if p99(bet_settlement)>3x && queue_lag>limit && feature("replay_center"). enabled`
- `allow if consumer_lag>target && cost_budget. ok && region_capacity. available`
- `allow if export_spike && no_ticket && data_class=PII -> action=block + notify(Compliance)`
Cada política contiene: condición, acción, límite (scope/tiempo/frecuencia), criterios de éxito, retroceso.
5) Catálogo de acciones seguras (runbook-actions atómicos)
Pagos: cambiar el tráfico a un PSP/banco alternativo; cambiar las prioridades de routing health × fee × conversion; incluir 3DS simplificado; aumentar los límites de retraídas con el jitter.
Apuestas/juegos: escalar los workers de la red; habilitar cache-warmup; desactivar temporalmente los fiches no críticos (animaciones, feeds secundarios); habilitar waiting-room/queue-page.
Infraestructura: retirar las instancias degradantes (detector de salida), evacuar el tráfico a la región/AZ vecina; Aumentar la reserva/cuota; reiniciar los workers con controles de lente.
Datos/colas: reasignar lotes; elevar a los consumidores a la tapa; cambiar el tráfico de lectura a una réplica saludable; habilitar el sampling adaptativo de pistas.
Seguridad/cumplimiento: bloquear temporalmente la exportación de PII sin ticket; reforzar los límites de velocidad de las conclusiones; habilitar el control dual en operaciones sensibles.
Capa de Comm: estado de borrador automático + ranuras de apdate para Comms Lead; notificar a los socios cuando el PSP está degradado.
6) Pre-y post-validación
Antes:- Comprobar que el problema es real y fresco (ventanas N-de-M; Sin Silens/Planned Work).
- Asegúrese de que la acción está permitida por la directiva y de que existe un presupuesto de recursos.
- Estimar el costo (FinOps) y las restricciones de cumplimiento.
- Confirmar la disminución de burn-rate/métricas; registrar el resultado; programar la devolución (auto-rollback) según las condiciones.
7) Rollback и “escape hatch”
Retorno automático cuando se estabilizan las métricas y a través de acciones max-TTL.
Botón de retroceso para IC/on-call en la sala de var.
Break-glass sólo para acceso de emergencia; la post-auditoría es obligatoria.
8) Integración con alerting e incidentes
Cualquier auto-acción se adjunta a la tarjeta de incidente: quién/qué/cuándo/por qué, el resultado, las referencias a los gráficos.
El buscapersonas es silencioso para duplicados, pero no para faltas de auto-fix (escalamiento).
La página de estado se actualiza a través de Comms Lead a través de la plantilla.
9) Diseño de seguridad y cumplimiento
Los menores privilegios para el orquestador; roles individuales por acción/dominio.
SoD y control dual para alto riesgo: routing PSP, límites de bonificación, exportación PII.
Auditar WORM/immutable de todas las soluciones automáticas, incluidas las entradas y versiones de políticas.
Higiene PII: sin identificadores personales en etiquetas y logotipos de acciones.
10) Observabilidad de los circuitos automáticos
Métricas: tasa de éxito de las acciones, tiempo de reacción,% de retroceso, ahorro de MTTR, impacto en SLO.
Tracks: trace de extremo a extremo para «señal → solución → acción → efecto».
Registros: estructurados, con policy_id, versiones y comprobaciones previas/posteriores.
Dashboards: Exec (impacto en los ingresos/SLO), Ops (matriz de acción × dominios), FinOps (costo de las medidas automáticas).
11) Ejemplos de scripts (iGaming)
11. 1 Degradación PSP (TR/UE)
Señal: auth-success en PSP-1 ↓ en un 25% en 10 min, cobertura> 30% de las transacciones.
Acciones: redistribuir el 40% del tráfico por PSP-2/3; incluir 3DS simplificado; elevar los retratos de las peticiones del banco X con el jitter.
Límites: no más del 60% del tráfico total por PSP alternativo; TTL 45 minutos.
Rollback: cuando se normaliza la tasa de éxito ≥ objetivo durante 15 minutos.
11. 2 Crecimiento de p99 en la configuración de apuestas
Señal: p99 «bet→settle»> 3 × normas + consumer-lag> umbrales.
Acciones: scale-out workers to cap; calentamiento de caché de coeficientes; apague temporalmente el «historial de repeticiones».
Rollback: después del headroom> X y p99 es normal 20 min.
11. 3 Réplica de BD rezagada
Señal: replication-lag> N segundos, crecimiento de bloqueo-wait.
Acciones: llevar el tráfico de lectura a una réplica saludable; habilitar operaciones de escritura de baja prioridad.
Rollback: después de la normalización del log y los errores de bloqueo.
11. 4 Especia de exportación PII
Señal: rate exports> línea base × K, no hay tickets.
Acciones: bloque de exportación, notificación de cumplimiento, activación de control dual.
Rollback: después de confirmar las solicitudes y cerrar la anomalía.
12) KPI и KRI
MTTR↓ para incidentes donde se activó el auto-fix.
TTD→Action: tiempo desde el niño hasta la realización de la acción.
Success-rate de acciones y Rollback-rate (bajo - bueno, si no debido a falsos positivos).
Nota de acción falsa (acciones sin efecto o con efecto negativo).
SLO impacto ahorrado (minutos/ingresos, multas evitadas).
Pager fatigue↓ (menos buscapersonas manuales con los mismos/mejores SLO).
13) Hoja de ruta para la implementación (8-12 semanas)
Ned. 1-2: seleccionar 3-5 escenarios de alto ROI (PSP Feilover, autoscale por lag, feature-degrade); describir políticas/límites/retrocesos.
Ned. 3-4: implementar el orquestador de acciones, secretos y roles, integración con la plataforma de incidentes; agregar la observancia y la auditoría.
Ned. 5-6: piloto en modo «sombreado» (simulate-only) → evaluación A/B del efecto; a continuación, incluir en el prod con poca cobertura.
Ned. 7-8: ampliar el directorio de scripts (DB/caché/colas/frente), enlazar con la página de estado y Comms.
Ned. 9-10: añadir reglas de límites de FinOps (costo/SLI), implementar control dual para el alto riesgo.
Ned. 11-12: ejercicio de tabletop/chaos, revisión de KPI/KRI, publicación de haydlines y entrenamiento de on-call.
14) Artefactos y patrones
Política de remisión automática: condición, acción, límites, TTL, reversión, propietario, clase de riesgo.
Runbook-Action Spec: precondiciones, pasos, comprobaciones, errores, monitoreo, lógica de reversión.
Change-Control: quién puede gobernar las políticas, el rugido de PR, las pruebas, el diff y la versión.
Evidence Pack: logs/tracks/métricas de impacto en SLO, informe post-mortem/auditoría.
15) Antipattern
«Tratamos el síntoma» sin verificar la causa y SLO → flapping.
Acciones sin retroceso y TTL → degradaciones congeladas.
Scripts universales sin guardrails → fallas en cascada.
Falta de auditoría y versificación de directivas.
Ignorar el valor (autocaravana sin límite) y el cumplimiento (exportaciones PII).
Autonomía total sin Human-in-the-loop en riesgo P1.
Resultado
La corrección automática de errores es un circuito controlado: señales SLO → políticas con guardrails → acciones runbook seguras con retroceso → vigilancia y auditoría → entrenamiento en incidentes. Este enfoque reduce mensurablemente el MTTR, mantiene los ingresos en máximos y elimina la rutina de su colla, manteniéndose compatible con los requisitos de seguridad y reguladores.