À propos du service
TraduitJe construis des systèmes sur Erlang/OTP qui doivent fonctionner pendant des années, pas des heures. Mon profil — logiciel où le temps d'arrêt signifie non pas inconvénient mais l'effondrement de l'ensemble de l'entreprise : passerelles de paiement, backends de messagerie, nœuds de signal en temps réel, flottes de dispositifs IoT, courtiers de session et plateformes télécom servant des millions de connexions simultanées. Si vous avez besoin d'un service qui survit aux pannes, aux interruptions de réseau et à ses propres bugs sans réveiller personne à trois heures du matin — c'est exactement le modèle de concurrence que j'ai étudié pendant des années.
Mon travail repose sur l'outil OTP, pas sur des processus faits maison. Je conçois des arbres de superviseurs complets afin qu'une défaillance soit isolée dans le plus petit nœud possible et redémarre proprement plutôt que de déclencher une cascade de pannes. J'applique gen_server, gen_statem et les comportements d'application comme prévu, modélise chaque connexion ou tâche comme un processus léger séparé, et m'appuie sur la philosophie du "laisser échouer" qui simplifie le code et rend la récupération automatique. Lorsque la charge l'exige, je distribue les nœuds sur des machines, ajoute du clustering et du transfert d'état, ajuste les planificateurs et la mémoire afin que le débit reste prévisible sous pression.
Au-delà du scénario principal, je fais ce pour quoi Erlang est choisi : mises à jour de code à chaud avec gestion des versions qui permettent le déploiement sans interrompre les sessions en direct, contrôle de flux et contre-pression pour qu'un pic ne fasse pas tomber un nœud, et observabilité grâce à la traçabilité intégrée et aux métriques. Je peux prendre un projet de zéro à la première version en production, sauver une base de code Erlang existante devenue fragile, ou rejoindre votre équipe pour la fiabilité. Chaque projet est livré avec des tests, des benchmarks de charge et une documentation claire.
Ce que vous obtenez généralement :
— Architecture des arbres de superviseurs et des applications
— Modélisation des processus gen_server / gen_statem et versions OTP
— Distribution, clustering et transfert de nœuds
— Mises à jour de code à chaud et déploiement sans temps d'arrêt
— Tests de charge, traçage et préparation au combat
Mon travail repose sur l'outil OTP, pas sur des processus faits maison. Je conçois des arbres de superviseurs complets afin qu'une défaillance soit isolée dans le plus petit nœud possible et redémarre proprement plutôt que de déclencher une cascade de pannes. J'applique gen_server, gen_statem et les comportements d'application comme prévu, modélise chaque connexion ou tâche comme un processus léger séparé, et m'appuie sur la philosophie du "laisser échouer" qui simplifie le code et rend la récupération automatique. Lorsque la charge l'exige, je distribue les nœuds sur des machines, ajoute du clustering et du transfert d'état, ajuste les planificateurs et la mémoire afin que le débit reste prévisible sous pression.
Au-delà du scénario principal, je fais ce pour quoi Erlang est choisi : mises à jour de code à chaud avec gestion des versions qui permettent le déploiement sans interrompre les sessions en direct, contrôle de flux et contre-pression pour qu'un pic ne fasse pas tomber un nœud, et observabilité grâce à la traçabilité intégrée et aux métriques. Je peux prendre un projet de zéro à la première version en production, sauver une base de code Erlang existante devenue fragile, ou rejoindre votre équipe pour la fiabilité. Chaque projet est livré avec des tests, des benchmarks de charge et une documentation claire.
Ce que vous obtenez généralement :
— Architecture des arbres de superviseurs et des applications
— Modélisation des processus gen_server / gen_statem et versions OTP
— Distribution, clustering et transfert de nœuds
— Mises à jour de code à chaud et déploiement sans temps d'arrêt
— Tests de charge, traçage et préparation au combat