Wasm气候已成!

Wasm气候已成!

译文 精选
作者: 崔莹峰 2022-11-28 11:41:24

云计算 一些人认为Wasm将取代容器技术和无处不在的JavaScript

  作者 | Peter Vetere

  译者 | 崔莹峰

  无论是在服务器上还是在边缘,Wasm都允许你创建自定义逻辑,该逻辑比以前更接近数据。你可以安全、高效且更灵活地完成此操作。

  Wasm是最重要的新兴技术之一,无论你有没有听说过它,毋庸置疑的是它很重要。

  作为WebAssembly语言的简写,Wasm是为Web开发的。然而,Wasm技术已经扩展到网络浏览器之外。现在部分组织开始在服务器端运行Wasm。例如,我的公司SingleStore正在我们的数据库中使用它。

  一些人认为Wasm将取代容器技术和无处不在的JavaScript。

  不管你是否相信,Wasm正在对云计算产生影响。为什么以及如何影响?且听我逐一道来。

跨平台:让云组件更安全、更简单地结合在一起

  人们使用各种不同种类的语言来编写软件。让这些语言进行交互是很困难的。Wasm提供了一个框架,可以用你想要的任何语言编写。然后利用它产生了一种通用的模拟机器格式。

  这种格式允许用各种语言(如Rust、C/C++ 和Go)编写的组件相互通信。Wasm还为数据库等服务器端系统提供了嵌入来自不同语言组件的能力,而无需你知道或关心该模块是如何生成的。

  将Wasm视为一种通用的插件格式。假设你想使用第三方开发的组件来增强系统的功能。Wasm允许你将新组件引入系统,而无需承担集成附加组件通常带来的风险。例如,外部组件可能会使系统崩溃或产生一些意外之外的故障。Wasm通过为不同的系统和组件创建一个极其安全的框架来彼此交互,从而缓解了这些问题。

  云是Wasm扩张的重要驱动力。Wasm非常适合云,因为它是虚拟化的,可以在任何支持Wasm运行时的环境中工作。此外,云系统通常由许多服务拼凑在一起并以不同的方式连接而成。这可能会变得复杂。但是,你越能简化云环境,云系统的各个方面就越容易正确协同工作。

安全:通过其运行代码和表示函数的方法降低风险

  在大多数语言运行时中,函数都有地址。这些地址是内存中的可执行点。如果你只是将内存视为一堆字节,则根本无从分辨哪里是函数地址,哪里仅是普通的字节。这就为一些人开了便门,他们可以找到函数入口注入代码,或者以特权方式调用函数,以便函数执行它不应该做的事情。Wasm的设计消除了这些问题。

  Wasm以不可利用的方式表示函数。它还在沙盒中运行代码,从而缓解了与运行不受信任的代码相关的常见安全问题。由于Wasm将程序内存封装在安全区域中,因此没有任何东西可以超出它并访问可能影响运行程序的主机或危及安全性的地方。

  借助Wasm基于功能的安全模型,主机可以完全控制Wasm程序可以运行的特权操作类型。例如,如果需要文件访问,主机必须显式授予对目录的访问权限。

速度:消除不需要的东西,提高速度和效率

  显然,Wasm并不是第一种人们用来以更安全,更简单的方式将事物整合在一起的技术。然而,Wasm比其他一些技术要快得多。

  编译器可以通过利用LLVM后端生成Wasm程序,编译为LLVM中间表示。LLVM(Low Level Virtual Machine 的简称)可以供许多语言作为编译的后台。由于这种方法,且由于社区围绕LLVM项目多年的努力,Wasm程序可以编译为高度优化的机器代码。

  在SingleStore,我们创建了“Wasm太空计划”——一个数据库内的虚拟实时宇宙——来展示Wasm的速度和轻量级。在这个模拟程序中,宇宙飞船使用不同的策略来补充能量,并在浩瀚的实时“宇宙”中与其他宇宙飞船作战。这涉及大量数据,系统中有超过一百万艘船,每秒有近三百万次数据库更新。

  传统上,集成该数据并将其组装在中间层需要将大量数据提取到中间层。这可能会引入大量的滞后,并且需要一些复杂的缓存来实现实时响应。“Wasm太空计划”没有采用这种方法,而是将每艘宇宙飞船的策略都用Wasm编写,并作为UDF加载到数据库中。每一秒,每个宇宙飞船的战略函数都被调用来决定它的下一步行动。

  前端(在浏览器中运行的JavaScript程序)上没有任何逻辑可以理解这些策略,它也没有关于宇宙状态的任何内容。它的工作只是直接向数据库发出SQL查询,并以图形方式显示返回的信息。数据库维护所有状态信息,并且由于Wasm允许计算紧挨着数据,因此速度要快得多。甚至不需要中层。

  但Wasm并不全是乐趣和游戏。你可以使用它来解决无数其他应用程序和用例。例如,你可以使用Wasm进行情绪分析。情感分析所需的复杂逻辑不是可以用数据库SQL语言轻松表达的。因此,为了做到这一点,你通常需要用更复杂的语言实现这个算法,下载所有数据并将数据传给这个算法。然后,你需要将情绪分析评级推回数据库。这意味着你使用的数据库中的每一行都需要往返。如果你有数百万行数据,则会产生很多流量。但是,通过SingleStore集成Wasm的方式,这个算法已经在数据库中,因此你不会产生该开销。

能力:创建标准使其更加强大

  Wasm已经非常有能力了。而且随着新技术和新标准的到来,Wasm将更加强大。

  例如,W3C WebAssembly Community Group在字节码联盟等组织成员的帮助下,目前正在致力于标准化WebAssembly系统接口 (WASI)。WASI将提供一组标准的API和服务,当Wasm模块在服务器上运行时可以使用这些API和服务。许多标准提案仍在进行中,例如垃圾回收、网络I/O和线程,因此你不必总是将你在其他编程语言中做的事情都映射到Wasm。因为最终,WASI将提供一个完整的标准来实现这一目标。在许多方面,WASI的目标与POSIX相似。

  Wasm现在也没有解决与其他Wasm模块链接或通信的能力。但是Wasm社区在计算行业成员的支持下,正在努力创建一种称为组件模型的东西。它旨在围绕Wasm模块创建一个动态链接基础设施,定义组件如何启动和相互通信(类似于传统操作系统的进程模型)。

  此外,一种新兴的标准IDL语法,称为WIT(用于WebAssembly接口类型),将允许人们以与语言无关的方式描述他们的Wasm接口。因此,绑定生成器将能够获取IDL中的内容并编译代码,这些代码将允许Wasm主机和客户端以通用方式通信数据。

未来:提供更快、更安全、更高效的方式将事物整合在一起

  Wasm虽然更轻量级,但可能不会很快取代容器。然而你可以期待Wasm成为未来许多软件的一部分。

  无论是在服务器上还是在边缘,Wasm都允许你创建自定义逻辑,这些逻辑比以前更接近数据,而且你可以安全、高效且更灵活地完成此操作。

  现在有了SingleStore,你可以将现有程序编译为Wasm,将它们推送到数据库中,然后在那里运行它们。这意味着你可能不必重写该代码并将其放在远离数据的地方。借助Wasm技术,你可以两全其美。

原文链接:

​​https://www.infoworld.com/article/3678208/why-wasm-is-the-future-of-cloud-computing.html​​

译者简介  

崔莹峰,51CTO社区编辑,一名70后程序员,拥有10多年工作经验,长期从事 Java 开发,架构设计,容器化等相关工作。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/239580.html<

(0)
运维的头像运维
上一篇2025-04-23 11:38
下一篇 2025-04-23 11:39

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注