- Spin est un outil de développement open source permettant de créer, déployer et exécuter partout des applications WebAssembly (Wasm) serverless
- Il offre de petits binaires portables, une faible latence au démarrage et un débit élevé, ce qui permet d’exécuter des applications dans des environnements variés
Points forts de Spin 3.0
- Grâce à la légèreté de Wasm, à sa rapidité de démarrage et à sa sécurité, il convient bien aux cas d’usage côté serveur, notamment lorsque les conteneurs sont lents ou volumineux, lorsque le sandboxing est indispensable, ou pour les usages serverless
- Le WebAssembly Component Model standardise l’interopérabilité entre différents langages de programmation, offrant davantage de possibilités aux développeurs
- Dépendances de composants - simplicité du développement multilingue
- Spin 3.0 introduit des workflows de développement permettant, par exemple, d’utiliser une bibliothèque écrite en Rust comme dépendance dans une application JavaScript.
- Les composants peuvent être stockés, recherchés et récupérés depuis un registre OCI, offrant une expérience similaire à npm/NuGet/crates.io.
- Déploiement sélectif - compiler une fois et déployer de manière ciblée
- Certains composants d’une application Spin peuvent être exécutés en local ou via SpinKube.
- Le flag
spin up --component-id permet de spécifier le composant à exécuter et ouvre de nouveaux scénarios où les platform engineers peuvent lancer sélectivement des composants sur des nœuds répondant à des exigences spécifiques.
- Intégration poussée avec les standards WASI
- Le projet Spin contribue aux API WASI et les intègre dans Spin afin de répondre aux besoins de la communauté.
- Les API WASI Key-Value et WASI Config sont officiellement prises en charge dans Spin.
- Intégration OpenTelemetry (OTel) - observabilité incluse
- Spin 3.0 prend officiellement en charge l’observabilité OpenTelemetry (OTel), permettant une intégration avec des outils comme Grafana, Jaegar et Prometheus.
- Le plugin
spin otel facilite la configuration de la stack d’observabilité.
- Spin Factors - refonte majeure du runtime
- La structure interne de Spin a été largement refactorisée autour d’une fonctionnalité appelée Spin Factors afin de renforcer sa modularité.
- Il est désormais plus facile d’étendre le runtime de Spin, même si cela peut nécessiter un fork du projet.
- Démo - utilisation de Spin 3.0
- Un exemple montre comment exploiter la fonctionnalité de dépendances de composants de Spin 3.0 pour créer un composant de transformation d’images en Rust et l’utiliser comme dépendance dans un composant JavaScript/TypeScript.
- Le plugin
spin deps permet de publier des composants dans un registre OCI et de les consommer depuis des composants Wasm écrits dans d’autres langages.
- État de l’écosystème
- Plusieurs plugins CLI et plugins de triggers font leur apparition, et le projet SpinKube bénéficie également d’une nouvelle release.
- De nouvelles fonctionnalités ont été ajoutées, dont le déploiement sélectif.
1 commentaires
OTel est désormais apparemment la norme