Contexte
Les pannes d’une architecture distribuée sont difficiles à expliquer avec un schéma statique : une saturation locale peut remplir une file, ralentir une dépendance puis dégrader tout le parcours utilisateur. Surgyah transforme ces relations invisibles en une expérience interactive et progressive.
Enjeu et contraintes
Modéliser assez fidèlement la capacité, les files d’attente, les dépendances et les incidents pour produire des résultats utiles, tout en gardant chaque conséquence compréhensible par une personne qui découvre la résilience.
Approche
J’ai isolé un moteur TypeScript pur qui compile le graphe et calcule chaque état sans dépendre de l’heure ni d’un service externe. Trois missions guidées appliquent un pic de trafic, la perte d’une API et une panne PostgreSQL ; l’interface visualise leur propagation, les métriques et la chaîne causale en direct.
Choix et compromis
La démo publique exécute le moteur dans le navigateur pour rester immédiate, gratuite et autonome, mais elle ne persiste pas les essais. Le même moteur peut aussi tourner dans une architecture Docker où Next.js enregistre les runs, Redis Streams alimente un worker Bun et SSE diffuse les résultats.
Résultat observable
La version en ligne permet de modifier une infrastructure, lancer 18 étapes déterministes, suivre CPU, files, latence et taux de succès, puis comparer deux essais avant et après amélioration. Le dépôt documente et teste aussi le parcours distribué PostgreSQL, Redis et worker.