Un nouveau projet open-source baptisé Sonic cherche à démocratiser l'exécution de logique applicative directement au cœur du trafic réseau. Développé par Manasses Binga et hébergé sur GitHub, Sonic se définit comme une plateforme permettant de « faire tourner de la logique sur n'importe quelle donnée réseau ». Il s'agit d'un proxy transparent de couche 7 (L7), c'est-à-dire qu'il peut intercepter et analyser le contenu des paquets à un niveau applicatif, et non seulement les en-têtes.

Sonic utilise la technologie eBPF (extended Berkeley Packet Filter) pour accélérer le traitement des paquets, une approche qui gagne en popularité dans le domaine de l'observabilité et de la sécurité réseau, notamment au sein du noyau Linux. eBPF permet d'exécuter des programmes sandboxés dans le noyau sans en modifier le code source, offrant ainsi des performances élevées et une grande flexibilité.

Multi-protocole et multi-langage

La plateforme se distingue par son large éventail de protocoles supportés : HTTP, TCP, UDP, DNS, WebSocket, gRPC et QUIC. Cela couvre la quasi-totalité des communications modernes sur Internet, des transferts web classiques aux applications temps réel et à la messagerie instantanée.

Côté développement, Sonic supporte l'exécution de code écrit en JavaScript et en WebAssembly (Wasm). Cette compatibilité avec WebAssembly ouvre la porte à l'utilisation de nombreux langages compilables vers Wasm, comme Rust, C, C++, Go ou encore Python (via des compilateurs dédiés).

Compatibilité avec l'écosystème Cloudflare Workers

L'un des arguments les plus notables de Sonic est sa compatibilité avec l'API de Cloudflare Workers. Cloudflare Workers est un service de « serverless computing » populaire, qui permet d'exécuter du code JavaScript à la périphérie du réseau de Cloudflare. En rendant cette API compatible avec son propre proxy, Sonic permet aux développeurs de « faire tourner leurs workers localement, à la périphérie du réseau, sans dépendre d'un fournisseur unique ». Cela répond à une préoccupation croissante de verrouillage propriétaire (vendor lock-in) dans le monde du edge computing.

Un projet open-source naissant

Le code source de Sonic est disponible publiquement sur GitHub sous le compte de l'auteur. Le dépôt est récent et se trouve encore en phase de développement. Les fonctionnalités annoncées incluent la capacité à inspecter, modifier et rediriger le trafic en temps réel, ouvrant des cas d'usage dans la sécurité (filtrage, détection d'intrusion), l'optimisation réseau (équilibrage de charge avancé, mise en cache) et les applications de type « middleware ».

La promesse de Sonic est ambitieuse : remplacer des appliances matérielles ou des solutions logicielles propriétaires par un outil libre, extensible et performant, capable de s'interposer sur n'importe quel flux réseau pour y injecter de la logique métier.

Conclusion

Sonic s'inscrit dans la tendance des outils open-source qui repoussent les frontières du réseau programmable. En combinant eBPF, WebAssembly et une API compatible avec un standard de l'industrie, il pourrait séduire les développeurs et les administrateurs système en quête de flexibilité et de souveraineté sur leur infrastructure réseau. Pour l'instant, le projet en est à ses débuts, mais sa feuille de route technique le place d'emblée comme une alternative crédible aux solutions closed-source du marché.