Correction automatique des erreurs
1) Objectif et principes
Objectif : réduire le MTTR et prévenir l'escalade des incidents en maintenant le SLO, les recettes et la conformité.
Principes :- SLO-first : les actions auto ne sont autorisées qu'en cas de menace de budget d'erreur confirmée.
- Sécurité avant tout : minimum de blast-radius, limites explicites et tymbox.
- Exploitable par le design : chaque action est compréhensible et audible.
- Rollback-prêt : toute étape est accompagnée de critères de retour.
- L'homme-dans-le-loop où le risque est élevé : les changements critiques P1 sont par le contrôle double ou la confirmation IC/on-collom (sauf si établi par une autre politique).
2) Termes
Auto-remediation : réponse programmatique à un événement (alert/anomalie) sans intervention humaine.
Guardrails : politique de restriction (seuil, durée, nombre de tentatives, zone d'exposition).
Runbook-Action : opération atomique avec pré/post-vérification et retour en arrière.
Decision Engine : un service qui associe un événement à des stratégies et déclenche des actions.
3) Architecture de solution
1. Signaux : SLO/burn-rate, KRI, synthétique, RUM, deep-health.
2. Corrélation du contexte : versions, fichflags, travaux planifiés, fournisseurs dépendants.
3. Moteur de décision : règles/politiques (policy-as-code), évaluation de l'impact et du risque, choix du scénario.
4. Exécution : orchestration runbook-action (idempotence, retraits avec jitter).
5. Contrôle : avant-vérificateurs, après-vérificateurs, timbox, retour en arrière.
6. Audit et observabilité : piste d'action, métriques de réussite, journal (WORM/immutable).
7. Communication : Status Page (via Comms Lead), Var Room, macros pour Sapport.
4) Politiques et tolérances (policy-as-code)
Exemples de conditions (pseudo-Rego/logique) : 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)`
Chaque politique contient : condition, action, limite (scope/temps/fréquence), critères de succès, retour en arrière.
5) Catalogue d'actions sécurisées (runbook-actions atomiques)
Paiements : changer le trafic vers une autre PSP/banque ; modifier les priorités d'itinérance en matière de santé × fee × conversion ; inclure une 3DS simplifiée ; augmenter les limites des retraits avec jitter.
Paris/jeux : mettre à l'échelle les workers de settle ; Activer le cache-warmup ; Désactiver temporairement les fiches non critiques (animations, fides secondaires) ; activer waiting-room/queue-page.
Infrastructures : Saisir les spécimens dégradés (détecteur outlier), évacuer le trafic vers la zone AZ/région voisine ; augmenter la réserve/les quotas ; redémarrer les workers avec des contrôles lint.
Données/files d'attente : redistribuer les lots ; élever les consommateurs à la cap ; Commuter le trafic de lecture en réplique saine ; activer l'échantillonnage adaptatif des pistes.
Sécurité/conformité : bloquer temporairement les exportations de PII sans ticket ; renforcer les limites de velocity des conclusions ; activer le contrôle double sur les opérations sensibles.
Couche de commum : Auto-brouillon de statut + slots d'update pour Comms Lead ; notification aux partenaires en cas de dégradation du PSP.
6) Pré et post-validation
Avant :- Vérifier que le problème est réel et frais (N-de-M fenêtres ; pas de silence/travaux de planification).
- Assurez-vous que l'action est autorisée par la politique et qu'il existe un budget de ressources.
- Estimer le coût (FinOps) et les limites de conformité.
- Confirmer la réduction des taux-burn/métriques ; Enregistrer le résultat ; programmer un retour (auto-rollback) selon les conditions.
7) Rollback и “escape hatch”
Retour automatique lors de la stabilisation des métriques et via l'action max-TTL.
Bouton de retour pour IC/on-colla dans la salle de var.
Break-glass uniquement pour l'accès d'urgence ; le post-audit est obligatoire.
8) Intégration avec alerting et incidents
Toute action auto est attachée à la carte d'incident : qui/quoi/quand/pourquoi, le résultat, les liens vers les graphiques.
Pager est silencieux pour les doublons, mais pas pour les voitures-fictions ratées (escalade).
La page d'état est mise à jour via Comms Lead à partir d'un modèle.
9) Conception de la sécurité et de la conformité
Les plus petits privilèges pour l'orchestre ; rôles individuels par action/domaine.
SoD et double contrôle pour les risques élevés : itinéraire PSP, limites de bonus, exportation PII.
Audit WORM/immutable de toutes les solutions automatiques, y compris les entrées et les versions de stratégies.
Hygiène PII : pas d'identifiants personnels dans les labels et les logs d'action.
10) Observabilité des boucles auto
Métriques : taux de réussite des actions, temps de réaction, % de recul, économie de MTTR, impact sur SLO.
Traces : trace de bout en bout pour « signal → solution → action → effet ».
Logs : structurés, avec policy_id, versions et avant/après-vérification.
Dashboards : Exec (impact sur le chiffre d'affaires/SLO), Ops (matrice d'actions × domaines), FinOps (coût auto-mesure).
11) Exemples de scénarios (iGaming)
11. 1 dégradation PSP (TR/EU)
Signal : auth-success chez PSP-1 ↓ de 25 % en 10 min, couverture> 30 % des transactions.
Actions : redistribuer 40 % du trafic aux PSP-2/3 ; inclure une 3DS simplifiée ; soulever les retraits des demandes de la banque X avec le gitter.
Limites : pas plus de 60 % du trafic total par PSP de remplacement ; TTL 45 min.
Rollback : lorsque le taux de réussite est normalisé, ≥ cible pendant 15 min.
11. 2 Croissance de p99 au settle des taux
Signal : p99 « bet→settle »> 3 × normal + consumer-lag> seuil.
Actions : scale-out workers jusqu'à cap ; Réchauffer le cache de coefficients ; désactiver temporairement l'historique des répétitions.
Rollback : après headroom> X et p99 normalement 20 min
11. 3 répliques OBD en retard
Signal : replication-lag> N secondes, croissance lock-wait.
Actions : emmener le trafic de lecture vers une réplique saine ; activer les opérations write throttling de faible priorité.
Rollback : après la normalisation du lag et les erreurs de verrouillage.
11. 4 Spike exportations PII
Signal : taux d'exportation> ligne de base × K, pas de tickets.
Actions : unité d'exportation, notification de conformité, activation du contrôle double.
Rollback : après confirmation des demandes et fermeture de l'anomalie.
12) KPI и KRI
MTTR↓ pour les incidents où l'auto-fiction s'est déclenchée.
TTD→Action : temps de la pièce à l'exécution de l'action.
Success-rate des actions et Rollback-rate (faible - bon, sinon à cause de faux positifs).
Taux faux-action (actions sans effet ou avec effet négatif).
SLO impact saved (minutes/recettes, pénalités évitées).
Pager fatigue↓ (moins de pager à main avec les mêmes/meilleurs SLO).
13) Feuille de route pour la mise en œuvre (8-12 semaines)
Ned. 1-2 : sélectionner 3-5 scénarios de haut ROI (PSP-feilover, autoscale par lag, feature-degrade) ; Décrire les politiques/limites/retraits.
Ned. 3-4 : mettre en œuvre un orchestrateur d'actions, de secrets et de rôles, l'intégration avec la plateforme d'incident ; ajouter l'observation et l'audit.
Ned. 5-6 : pilote en mode « shadow » (simulate-only) → évaluation A/B de l'effet ; inclure ensuite dans le prod à faible couverture.
Ned. 7-8 : étendre le répertoire de scripts (BD/cache/files d'attente/front), lier à la page de statut et Comms.
Ned. 9-10 : ajouter des règles de limite FinOps (coût/SLI), mettre en place un contrôle dual pour le risque élevé.
Ned. 11-12 : tabletop/chaos-exercice, révision du KPI/KRI, publication des heidlines et formation en ligne.
14) Artefacts et modèles
Politique Auto-Remediation : condition, action, limites, TTL, retrait, propriétaire, classe de risque.
Runbook-Action Spec : pré-conditions, étapes, vérifications, erreurs, surveillance, logique de retour.
Change-Control : qui peut réguler les politiques, les revues de relations publiques, les tests, le diff et la version.
Evidence Pack : Logs/tracks/métriques d'impact sur SLO, rapport pour post-mortem/audit.
15) Anti-modèles
« Traitons le symptôme » sans vérifier la raison et SLO → flapping.
Actions sans retour en arrière et TTL → dégradations figées.
Scripts universels sans guardrails → pannes en cascade.
Absence d'audit et de versioning des stratégies.
Ignorer la valeur (Auto Skale sans limite) et la conformité (PII-Export).
Autonomie totale sans risque humain en P1.
Résultat
La correction automatique des erreurs est un contour dirigé : les SLO-signaux → les politiques avec guardrails → les runbook-actions sûres avec le recul → la perceptibilité et l'audit → l'enseignement sur les incidents. Cette approche réduit le MTTR de manière mesurable, maintient le chiffre d'affaires dans les pics et retire la routine de l'appel tout en restant compatible avec les exigences de sécurité et de réglementation.