Actualités / Infrastructure, cloud et télécoms
Cloudflare et Google unissent leurs forces pour exécuter du Rust natif sur Workers via WebAssembly Publié le 28 septembre 2026 par Christ-loisele (3 min de lecture)
Cloudflare et Google ont collaboré pour permettre aux applications Rust et Tokio de tourner directement sur Cloudflare Workers, grâce à Emscripten et wasm-bindgen. Cette avancée expérimentale ouvre des perspectives pour des services critiques comme les serveurs TCP ou les applications asynchrones en environnement web.
Vidéo : Understanding Conway’s Game of Life in WebAssembly & Rust | Optimizing Performance with wasm-bindgen (Programming Guru, YouTube)
Une collaboration technique entre Cloudflare et Google
Cloudflare annonce une préversion expérimentale permettant d’exécuter des applications Rust natives, y compris celles utilisant le runtime asynchrone Tokio, directement sur sa plateforme Cloudflare Workers . Cette fonctionnalité repose sur l’intégration de l’outil Emscripten, combiné à wasm-bindgen , pour compiler du code Rust en WebAssembly (Wasm) compatible avec les contraintes des Workers.
Selon le blog officiel de Cloudflare , cette avancée repose sur le support du target wasm32-unknown-emscripten dans wasm-bindgen, un projet initialement porté par Google il y a plus d’un an. Les ingénieurs de Cloudflare ont ensuite contribué à affiner cette intégration, permettant une interopérabilité fluide entre les deux outils via le drapeau de compilation -sWASM_BINDGEN.
Un serveur Minecraft natif en Rust, utilisant des sockets TCP réels, a été exécuté avec succès dans un Durable Object de Cloudflare Workers, démontrant le potentiel des applications critiques en environnement serverless.
Logo : WebAssembly (Carlos Baraza, CC0)
Des applications Rust complexes désormais compatibles avec Workers
L’une des démonstrations les plus marquantes de cette collaboration est la réussite à faire tourner un serveur Minecraft natif en Rust, baptisé Pumpkin, à l’intérieur d’un Durable Object de Cloudflare Workers. Ce serveur utilise des sockets TCP réels et le runtime Tokio, prouvant que des applications exigeantes en termes de performances réseau peuvent désormais être déployées dans un environnement serverless.
Emscripten joue un rôle clé en virtualisant les fonctionnalités natives du système d’exploitation, comme les timers, les opérations sur le système de fichiers ou les sockets, pour les adapter au contexte web. Cloudflare Workers supporte cette virtualisation via des flags de compilation Node.js, tout en s’appuyant sur wasm-bindgen pour générer des liaisons JavaScript optimisées et portables.
Des implications pour les bibliothèques Rust et les cas d’usage critiques
Bien que de nombreuses bibliothèques Rust fonctionnent déjà « hors de la boîte » avec cette configuration, certaines dépendances bas niveau, comme libc, socket2 ou Mio, ont nécessité des correctifs pour supporter la cible target_family = unix d’Emscripten. Cette adaptation reflète la complexité de portage des écosystèmes Rust vers WebAssembly, mais aussi les efforts pour standardiser ces outils.
Google a souligné que cette intégration s’inscrit dans une logique plus large : l’entreprise utilise déjà Emscripten pour compiler des codebases C++ vers Wasm, et cette collaboration avec Cloudflare vise à étendre cette approche aux applications Rust. Selon les ingénieurs Mitch Foley et Yifan Yang, Emscripten reste le moteur principal du build, tandis que wasm-bindgen produit des liaisons JavaScript plus légères pour une inclusion fluide dans le système de Cloudflare.
Ce que cela change ici
Pour les entreprises et administrations béninoises ou d’Afrique de l’Ouest utilisant Cloudflare Workers pour héberger des services web légers, cette avancée pourrait faciliter le déploiement d’applications critiques écrites en Rust. Par exemple, des solutions nécessitant des performances réseau élevées (comme des APIs temps réel ou des systèmes de monitoring) pourraient désormais être portées plus facilement sur une infrastructure serverless, sans recourir à des serveurs dédiés coûteux.
Les acteurs locaux développant des outils en Rust pour des secteurs comme la santé connectée ou la logistique pourraient aussi bénéficier de cette compatibilité, à condition que leurs bibliothèques soient compatibles avec Emscripten. Cependant, l’aspect expérimental de cette fonctionnalité implique que les équipes devront valider rigoureusement les performances et la stabilité avant une adoption en production.
Sources