写点什么

云原生 Wasm 的开发者工具正在成为主流

作者:Vivian Hu

  • 2022-12-07
    北京
  • 本文字数:1928 字

    阅读完需:约 6 分钟

云原生Wasm的开发者工具正在成为主流

KubeCon的云原生Wasm日+CloudNativeCon已经成为了 Wasm(WebAssembly 的缩写)爱好者们聚集并为生态系统谋划未来的圣地。2022 年于底特律举办的 KubeCon 云原生 Wasm 日中,重点关注了服务器端 WebAssembly 的开发者工具。


Wasm 最初是以浏览器安全沙盒为目的开发的。近年来,Wasm 作为一款轻量级、安全快速且可移植的虚拟机和 Linux 容器(LXC)的替代品,拥有了许多在服务器端的应用。


这次活动不仅有 Docker、微软、VMWare、Fastly、红帽、思科等知名公司参与,还有如 Fermyon、Second State、SingleStore、Cosmonic 及 Suborbital 等初创企业。

Docker+Wasm

在这次活动中,Docker 宣布了与 CNCF 基金会的 Wasm 运行时,WasmEdge合作的Docker+Wasm技术预览。Docker 的 CTO,Justin Cormack 分享了将Wasm融入Docker后,支持多类容器的愿景。随后,Docker 公司的 Chris Crone 和 Second State 公司的 Michael Yuan 共同介绍了如何使用Docker工具链构建、运行和共享Wasm应用程序


Docker+Wasm的演示应用程序是由 Second State 提供的一份用 Rust 编写且基于WasmEdge的数据库驱动 Web 应用程序,可编译为 Wasm 并在 WasmEdge 中运行。全部应用都可以在预配置 Rust 开发环境的容器中构建,并通过一行“docker compose up”命令与带有如 MySql 数据库的容器并列部署。

组件模型

社区中有很多对 Wasm 的优化尝试,以方便 Docker 等公司为其搭建工具,其中一项合作优化的结果是 Wasm 的组件模型。Fastly 公司的 Luke Wagner 关于组件模型的设计和进展演讲非常优秀,这项成果将极大地改善 Wasm 模块的可复用性和可组合性,为 Wasm 模块访问其他模块,系统,以及包括网络在内的操作系统 API 提供更好的访问模式。包括 WasmEdge 及 Wasmtime 在内的主流 Wasm 运行时均已承诺支持并实现该组件模型的提议。


虽然 Wasm 的组件模型尚未完工,但社区已经在应用其部分规范。Cosmonic 公司的 Brooks Townsend 在一次演讲中展示了 Wasm 组件是如何借助 wasmCloud 跨云和设备的实际使用示例。Taylor Thomas 随后也讨论了组件模型应用在实际使用时的情景


Wasm 组件模型定义了 Wasm 模块的管理和交互的全新方式,Cosmonic 公司的 Bailey 联合 SingleStore 公司的 Kyle Brown,共同介绍了一款可加密验证的透明 Wasm 组件注册表,warg。该注册表可使 Wasm 组件模块达到当前软件供应链的安全水平。

编程语言

编程语言支持是开发者工具的重要一环。Wasm 日的多个会议中均讨论了 Wasm 对新编程语言的支持。VMWare 办公 CTO,Daniel Lopez Ridruejo 及 Wasm 实验室的 Rafael Fernandez Lopez 演示了mod_wasm项目,该项目是在 Wasm 中运行 PHP 应用程序的 Apache 模块,并已经足够完善,可以运行如 WordPress 等复杂的 PHP 应用程序。


Fermyon 公司的 Joel Dice 的分享了如何在Wasm中运行Java应用程序,由于 Wasm 中没有对 GC 的支持,该项目仍处于早期阶段,但生命周期较短的 Java 程序已经可以在没有 GC 的情况下运行。


红帽公司的 Christian Heimes 探讨了目前Wasm运行时对Python的支持。CPython 项目已经可以被编译至 Wasm,从而允许各类 Python 应用程序不仅可以在 Wasm 的浏览器上运行,还可以在服务器端运行。


Fermyon 公司的 Ivan Towlson 探讨了.NET运行时针对Wasm的新功能,为 C#程序与 C 程序带来了更好的互操作体验。

嵌入式函数

Wasm 的一个常见用例是开发者为现有软件产品或平台创建扩展。


来自 SingleStore 公司 Carl Sverre 的演讲中展示了开发者可如何使用嵌入SingleStore云数据库的Wasm运行时,自定义UDF数据处理。利用 SingleStore 所提供的内置人工智能功能,开发者甚至可以在该数据库平台上创建复杂的电子游戏。


思科的 Guba Sandor 及 Dubas Adam 演示了一款基于 Wasm,专为自定义 Envoy 代理日志数据管道设计的插件系统

云服务

最后,对开发者而言,部署 Wasm 功能最简单的方式就是找人管理用户的基础设施。在云原生 Wasm 日上,初创公司为这一领域贡献了不少选择。


Fermyon 所推出的云服务让开发者可以轻松将 GitHub 的 repo 转换为无服务的微服务。Fermyon 云将 GitHub 中拉取到的源码构建为 Wasm 的字节码,按需运行后再连入 HTTP 的输入和输出。


Cosmonic所推出的PaaS允许开发者跨云创建、编写、运行,以及扩展 Wasm 模块以完成复杂的工作流程。


Suborbital 展示了一款基于云的SaaS扩展引擎,允许 Wasm 功能以相较于 web API 而言更安全、快速且强大的方式,嵌入至 SaaS 产品中。


Second State带来了无服务的函数平台,flows.network的预览版本。Flow 函数可被 SaaS 的 webhook 事件触发,并将输出传送到另外的 SaaS API 中。该平台可以实现基于 Wasm 的 SaaS 连接器(类似有代码的 Zapier)和自动化机器人(如 GitHub 机器人或聊天机器人)。


原文链接

Developer Tooling for Cloud-Native Wasm Is Going Mainstream


相关阅读:

后Kubernetes时代的未来?Wasmer 3.0 发布,可在浏览器外运行 WebAssembly

这群WebAssembly大佬创业失败了:有时从 JS 迁移到 Wasm 并不值当?

2022-12-07 08:004686

评论

发布
暂无评论
发现更多内容

openLooKeng算子接口和执行流程

openLooKeng

虎年就要玩虎符 春节就要瓜分虎符虎年大礼包

区块链前沿News

Hoo虎符 Hoo 虎年 春节活动

建木持续集成平台v2.2.1发布

Jianmu

DevOps 持续集成 CI/CD

第六节:SpingBoot基本配置一

入门小站

springboot java

开源机器学习数据库OpenMLDB v0.4.0产品介绍

第四范式开发者社区

人工智能 机器学习 大数据 OpenMLDB

左手2021, 右手2022 | 社区征文

soolaugust

技术 云原生 新春征文

Spark合并Iceberg小文件内存溢出问题定位和解决方案

漫长的白日梦

spark iceberg 小文件

虎虎生威新春大吉,2月更文挑战来袭!

InfoQ写作社区官方

2月月更 热门活动

【笔记】学《郭东白的架构课》:访谈|对话于冰(上)

术子米德

架构师成长笔记

双龙贺岁,龙蜥 LoongArch GA 版正式发布

OpenAnolis小助手

Linux 开源 新年

云智慧智能研究院:2022年智能运维发展八大趋势

云智慧AIOps社区

趋势 AIOPS 智能运维 云智慧 运维发展

模块六

撿破爛ぃ

架构训练营

如何系统分析项目的干系人?

石云升

项目管理 1月月更

openLooKeng基于选择率的动态过滤优化

openLooKeng

大数据

(1-24/24)awesome「结构」

mtfelix

300天创作 2022Y300P

并发不是并行

en

一文聊透Netty核心引擎Reactor的运转架构

bin的技术小屋

网络编程 nio 中间件 jdk8 netty

Microchip发布具有强大编程和调试功能的新型在线仿真器(ICE)

Geek_2d6073

基于OpenMLDB v0.4.0快速搭建全流程线上AI应用

第四范式开发者社区

人工智能 机器学习 OpenMLDB 特征平台

模块六作业

黄秀明

「架构实战营」

快递,菜鸟驿站,直播购物:老年人的电商之墙

脑极体

建一座国际连锁「商场」:openEuler 的雄心与蓝图 | 开源访谈《源创者说》首播

科技热闻

Hoo虎符研究院 | 币圈后浪 BreederDAO区块链游戏的NFT工厂

区块链前沿News

虎符 Hoo 虎符交易所

再见,Microsoft Academic——你好,开放式研究基础设施?

DisonTangor

搜索引擎

AI+遥感:释放每个像元价值

百度大脑

人工智能 AI

【笔记】学《郭东白的架构课》:访谈|对话于冰(下)

术子米德

架构师成长笔记

ReactNative进阶(四十):应用 ListView 实现分组列表

No Silver Bullet

ListView React Native 1月月更

【笔记】学《郭东白的架构课》:访谈|对话于冰(中)

术子米德

架构师成长笔记

Microchip宣布标准非混合型宇航级电源转换器系列 已新增28伏输入耐辐射选项

Geek_2d6073

openLooKeng | Oracle update和delete支持简介及实现

openLooKeng

openLooKeng助力中移在线获“ICT优秀案例”

openLooKeng

云原生Wasm的开发者工具正在成为主流_语言 & 开发_InfoQ精选文章