Officiellement présentée le 22 mars, Spin 1.0 est la première version stable du framework open source de Fermyon Technologies utilisé pour créer des applications à base microservices axés sur les événements avec WebAssembly. Avec Spin, les développeurs peuvent créer des microservices WebAssembly et des applications web déployables dans le cloud. « WebAssembly est un format de bytecode rapide qui permet d’exécuter du code non-JavaScript dans le navigateur web, à une vitesse quasi native, en offrant un temps de démarrage rapide, une portabilité et une exécution en sandbox », a rappelé Fermyon.

L'objectif de Spin est de faciliter la transformation du code en une application WebAssembly. Spin prend en charge des langages comme Rust, JavaScript, TypeScript, Python, Go et C#, et propose un CLI pour créer des applications distribuées. La commande spin new permet de créer une application basée sur des modèles prêts à l’emploi, spin build compile les applications en WebAssembly, et spin up exécute l'application localement.

Une exécution dans le cloud prévue

Une application Spin classique s'apparente à une fonction lambda de haute performance, capable d’exécuter une fonction définie du début à la fin de chaque nouvelle requête. La version 1.0 de Spin inclut la connectivité aux bases de données, la distribution d'applications via des référentiels populaires, et la capacité de conserver une trace de l’état de l’application sous forme de Key Value Storage. La prise en charge de l'exécution d'applications sur Kubernetes est également une nouveauté essentielle de la version 1.0 de Spin.

Parmi les cas d’usage de Spin, Fermyon cite l’exemple d’une grosse application de machine learning, dans laquelle les utilisateurs introduisent des données dans un modèle. Spin pourrait recevoir ces données et les pousser dans une queue pour qu'elles soient traitées. Un autre exemple est celui des sites web à haute performance, où tout est compilé dans WebAssembly en tant que fonction. Pour monétiser Spin, Fermyon prévoit de développer un Fermyon Cloud qui servira d’environnement d'exécution des applications Spin. D'autres services cloud comme Azure Kubernetes Service prendront aussi en charge les applications Spin. L'ajout de fonctionnalités comme le support de bases de données internes fait partie des futurs projets de Fermyon pour Spin.

Spin est disponible sur GitHub, et l’on trouve des instructions pour démarrer avec Spin sur le site web de Fermyon.