15 points par baeba 2025-04-28 | 1 commentaires | Partager sur WhatsApp

Cette présentation introduit le projet Boxer, qui propose de nouvelles possibilités pour WASM (WebAssembly) au-delà des conteneurs.

Boxer utilise un `dockerfile` pour générer des binaires WASM et fournit une compatibilité POSIX via une libc appelée `marquott`, avec pour objectif de reproduire dans WASM un environnement proche du code natif.  

À terme, Boxer vise à construire un environnement informatique déployable plus sûr, plus rapide et omniprésent, afin de fournir un environnement d’exécution fiable à l’ère de l’IA.  
  1. Présentation de l’intervenant

    L’intervenant est Dan Phillips, qui travaille chez Loophole Labs.

    Il développe principalement le produit Architect.Run, qui permet de migrer des VM sans interruption de service.

  2. Pourquoi les conteneurs sont populaires

    Il y a plusieurs raisons pour lesquelles les gens apprécient les conteneurs, mais la plus importante est qu’ils sont considérés comme l’unité de base du cloud native.

    Les conteneurs sont très simples à utiliser lorsqu’ils fonctionnent, et les utilisateurs n’ont pas besoin de connaître la manière dont le runtime est implémenté.

    Beaucoup de développeurs considèrent les conteneurs comme des mini-VM et les utilisent en s’y connectant via SSH.

  3. L’évolution de Docker

    Les conteneurs existaient déjà avant Docker, mais Docker a facilité leur usage en améliorant l’expérience développeur.

    Docker fournit une abstraction sur différents runtimes, ce qui permet aux développeurs de les utiliser sans se soucier des détails complexes.

  4. WASM et Scale

    Loophole Labs utilise concrètement WASM depuis deux ans à travers un produit appelé Scale.

    Scale est un framework de plugins open source prenant en charge Rust, Go et TypeScript.

    Les développeurs ne veulent pas réécrire le code système et préfèrent une expérience de développement simple.

  5. Présentation du projet Boxer

    Le projet Boxer est une tentative de combiner la compatibilité du code natif avec les avantages de WASM.

    Alors que les conteneurs existants intègrent des fonctions système complexes, Boxer adopte une approche consistant à n’ajouter que ce qui est nécessaire.

  6. Marquott et POSIX

    marquott est un sous-projet de Boxer dont l’objectif est d’implémenter la spécification POSIX.

    Environ 60 % des fonctionnalités POSIX sont actuellement implémentées, tandis que des fonctions comme la gestion des processus et des threads restent encore incomplètes.

  7. Système de fichiers et VFS

    Un système de fichiers est nécessaire pour chaque module et chaque processus, et marquott utilise un système de fichiers virtuel (VFS) basé sur Rust.

    Ce système de fichiers virtuel est similaire à l’abstraction utilisée par la plupart des systèmes Unix.

  8. Fonctionnalités de Boxer

    Boxer prend en entrée un fichier Docker et génère un binaire WASM ainsi que des fonctionnalités de plugin hôte.

    marquott inclut un système de fichiers virtualisé et une couche de code système, ce qui permet de prendre en charge différents runtimes.

  9. Démo et cas d’usage

    La présentation montre comment générer un binaire WASM à l’aide d’un fichier Docker, puis l’exécuter sur une machine locale, un serveur ou dans un navigateur.

    Elle met en avant la possibilité d’exécuter le même code dans des environnements variés.

  10. Possibilités futures

    WASM permet une exécution de code petite, sûre et rapide, ce qui ouvre la voie à des usages dans des environnements variés.

    Il offre aussi l’opportunité de mobiliser de nombreuses ressources de calcul inutilisées.

  11. Questions et réponses

    Après la présentation, des questions ont été posées, notamment sur la manière de convertir des programmes C en WASM, le niveau de sécurité et l’implémentation de fonctionnalités complexes.

1 commentaires