Fermyon最近发布了Spin 1.0,这是一个开源开发工具和框架,用于使用WebAssembly (Wasm) 开发无服务器应用程序。
Spin 1.0 是去年推出后的第一个稳定版本。在 1.0 版本中,该公司增加了对新编程语言(例如 JavaScript、TypeScript、Python 或 C#,以及 Rust 和 Go)的支持,连接到数据库(关系型或 Redis),使用流行的注册服务分发应用程序(GitHub Container Registry、Docker Hub或AWS ECR),一个内置的键/值存储,用于持久化状态,在 Kubernetes 上运行应用程序,或与HashiCorp Vault集成以管理运行时配置。
借助 Spin,该公司为创建使用 Wasm 运行的应用程序提供了简单的开发人员体验,包括用于快速安全地部署和运行它们的框架。
Fermyon 的首席技术官Radu Matei在博客文章中解释道:
Spin 是一种开源开发人员工具和框架,可帮助用户使用 Wasm 创建、构建、分发和运行无服务器应用程序。我们可以使用 spin new 基于入门模板创建一个新的应用程序,使用 spin build 将我们的应用程序编译为 Wasm,并使用 spin up 在本地运行应用程序。
除了在本地运行自旋应用程序,开发者还可以将应用程序部署到Fermyon Cloud(去年公开测试版)。登录到 Fermyon Cloud 后,他们可以通过在其应用程序所在的目录中运行以下命令来部署他们的应用程序。toml 文件位于:
旋转部署 此外,开发者还可以选择将应用推送到容器注册中心。InfoQ与Matt Butcher的播客中的一个关键要点是:Spin 是 Fermyon 的一个开源开发工具,专注于内部循环(快速迭代的本地开发周期),让您可以快速构建基于 Web 程序集的应用程序,而不必担心部署问题。Spin 有一个 Visual Studio Code 插件,其功能类似于 AWS Lambda 等无服务器事件侦听器模型。
该公司计划在不久的将来使用WASI Preview 2和Wasm 组件模型。此外,在 Reddit帖子中,Matei 回答了有关网络支持的问题,并提供了有关未来发展的更多详细信息:
未来,我们希望允许从 Spin 调用 Wasm组件,可以在浏览器中使用,也可以在浏览器外使用,但 Spin 的功能是针对非浏览器场景的。
Fermyon 是众多投资 WASM 技术的公司之一。例如,Docker 最近宣布了Docker+Wasm 的第一个技术预览,这是一个独特的构建,可以使用 WasmEdge 运行时通过 Docker 运行 Wasm 容器。从 4.15 版本开始,每个人都可以通过激活containerd 镜像存储实验功能来试用这些功能。
此外,runwasi 项目是 CNCF 的 containerd 生态系统的一部分,允许开发人员通过 Kubernetes 内部的 containerd shim 运行 WebAssembly 运行时。