23 points par xguru 2022-09-29 | 2 commentaires | Partager sur WhatsApp
  • Le code du runtime JavaScript/WASM réellement utilisé par Cloudflare Workers
    • Seulement quelques modifications ont été apportées afin de pouvoir le porter vers d’autres environnements
    • Le nom vient du -d « daemon » des serveurs Unix, prononcé « worker dee »

Usages

  • Permet l’auto-hébergement de Workers. C’est aussi simplement un serveur web accessible via une API. Facile à déployer dans n’importe quel environnement
  • Utilisable pour le développement et les tests en local
  • Proxy programmable (forward & reverse). Permet d’intercepter et de traiter les requêtes/réponses en JavaScript

What it is

  • Server-first : alors que de nombreux runtimes JS/WASM sont polyvalents, workerd se concentre uniquement sur le serveur, et plus précisément sur le serveur HTTP
  • Web standard APIs : fournit les mêmes API standard que celles utilisées dans les navigateurs web (Fetch, URL, WebCrypto, etc.). Autrement dit, le code développé ici peut aussi être porté vers le navigateur
  • Nanoservices : au-delà des microservices, place aux nanoservices !
    • Les nanoservices sont un nouveau modèle qui combine les avantages du déploiement indépendant avec une surcharge équivalente à celle d’un appel de fonction de bibliothèque
    • Avec workerd, de nombreux Workers peuvent être configurés dans le même processus ; chaque Worker s’exécute de manière indépendante, tout en pouvant communiquer avec les autres
  • Homogeneous deployment : auparavant, il fallait exécuter certains services dans certains conteneurs spécifiques ; avec workerd, toutes les machines peuvent exécuter tous les services
  • Capability bindings : configuration propre et garantie de sécurité contre le SSRF
  • Always backwards compatible : garantit toujours la rétrocompatibilité

What it's not

  • workerd is not a Secure Sandbox : du code malveillant peut s’exécuter. Pour l’empêcher, une couche de sandboxing distincte est nécessaire
  • workerd is not an independent project : c’est un élément central et une composante de Cloudflare Workers. Les contributions externes sont acceptées, mais il est difficile de faire des garanties.
  • workerd is not an off-the-shelf edge compute platform : ce n’est pas l’ensemble complet du service Workers

2 commentaires

 
fastkoder 2022-09-29

C’est quelque chose que j’avais envie de créer une fois publié, oh oh.

 
galadbran 2022-09-29

Déploiement homogène : auparavant, il fallait exécuter certains services dans des conteneurs spécifiques, mais avec workerd, toutes les machines peuvent faire tourner tous les services

Je me demandais ce que cela signifiait, puis j’ai compris qu’avec le modèle de développement en nanoservices (functions) expliqué juste avant, on peut simplement déployer tous les nanoservices sur une seule machine (c’est possible grâce à la faible surcharge) et, si nécessaire, il suffit d’ajouter davantage de machines identiques, ce qui évite d’avoir besoin d’une configuration de déploiement complexe.