Publié le 28 octobre 2025 21h00. Cloudflare, géant de la sécurité et des performances web, a considérablement amélioré son infrastructure en remplaçant un composant central par une version réécrite en Rust, un langage de programmation réputé pour sa sécurité et son efficacité. Cette refonte a permis de réduire les temps de réponse et d’optimiser l’utilisation des ressources.
- La migration vers Rust a permis de réduire le temps de réponse de 10 millisecondes et d’améliorer les performances globales de 25 %.
- Le nouveau composant, FL2, est basé sur le framework interne Oxy, conçu pour faciliter les mises à jour et la gestion de la configuration.
- Cloudflare a mis en place une stratégie de déploiement progressive et un système de test rigoureux pour assurer la stabilité de ses services pendant la transition.
Au cœur du réseau de Cloudflare se trouve FL, surnommé le « cerveau » de l’entreprise. Ce composant est responsable de l’application des règles de sécurité, de la protection contre les attaques DDoS, du routage du trafic et de la gestion des configurations spécifiques à chaque client. Face aux limites de l’implémentation existante, basée sur un mélange de langages, les ingénieurs de Cloudflare ont entrepris de la réécrire entièrement en Rust.
Le choix de Rust s’explique par ses avantages en termes de sécurité et de performances. Le langage permet de détecter de nombreuses erreurs potentielles dès la compilation, réduisant ainsi le risque de failles de sécurité. De plus, Rust offre une efficacité comparable à celle du langage C, tout en évitant les problèmes de gestion de la mémoire qui peuvent affecter d’autres langages.
Pour faciliter la transition, Cloudflare a développé une architecture hybride. Le nouveau composant, FL2, a été construit sur Oxy, un framework interne qui gère la surveillance, les rechargements logiciels et la configuration dynamique. Une couche d’abstraction a été ajoutée à FL, permettant aux nouveaux modules écrits en Rust pour FL2 de fonctionner en parallèle avec l’ancien code LuaJIT.
« Au lieu de maintenir une implémentation parallèle, les équipes pouvaient implémenter leur logique dans Rust et remplacer leur ancienne logique Lua par celle-ci, sans attendre le remplacement complet de l’ancien système. »
Cloudflare
La migration s’est faite progressivement, grâce à un système de fallback qui permettait de rediriger les requêtes que FL2 ne pouvait pas traiter vers l’ancien FL1. Ce mécanisme a permis d’augmenter progressivement la charge de FL2 tout en garantissant la continuité de service. Des tests rigoureux, utilisant un système appelé Flamingo capable de simuler des milliers de requêtes simultanées, ont été effectués à chaque étape du déploiement.
Les résultats de cette refonte sont significatifs. FL2 nécessite seulement la moitié de la puissance de calcul et moins de la moitié de la mémoire de son prédécesseur. Cette optimisation se traduit par une amélioration des performances globales du réseau Cloudflare, avec une réduction du temps de réponse de 10 millisecondes et un gain de performance de 25 %. De plus, les garanties de sécurité offertes par Rust, combinées à des processus de développement rigoureux, ont permis de réduire le nombre d’incidents.
Cloudflare souligne que cette migration vers Rust représente un investissement stratégique pour l’avenir, permettant d’améliorer la sécurité, les performances et la fiabilité de ses services.