「行业资讯」WebAssembly解决了哪些业务问题?

WebAssembly(通常称为Wasm)是云原生世界中的热门话题。5月份在KubeCon+CloudNativeCon EU期间发布的一项关于服务网格的CNCF调查表明,针对Wasm等环境的服务网格插件对25%的受访者来说很重要。在KubeCon+CloudNativeCon EU会议上,就wasm是什么,更重要的是它能做什么进行了多次会谈和充分讨论。

引起关注的一个有趣的讨论是,由于其设计,WebAssembly可能在许多情况下取代Docker。但正如我们将在本文看到的那样,过分关注WebAssembly的这一方面是不够的,因为更重要的是WebAssembly可以支持的业务用途。事实上,就像任何有趣的新编程语言或技术一样,Wasm价值的真正考验是它的业务用途(目前,Adobe、微软和提供wasmCloud的Cosmonic已经将Wasm解决方案推向了市场)。

WebAssembly可以用于将JavaScript(JS)、C++和Rust以及HTML和CSS集成到一个二进制格式的运行时平台中,该平台直接在CPU上的机器级别上运行。它不仅可以用于支持Web应用程序,还可以扩展到任何在CPU上运行的边缘环境和云原生平台,包括服务网格和边缘Kubernetes支持。Wasm也存在了一段时间,直到2019年万维网联盟(W3C)将其命名为Web标准,从而成为第四个包含HTML、CSS和JavaScript的Web标准。

可移植性和一致性

Wasm提供的主要好处之一是其可移植性和一致性,这可以使安全性和合规性更易于管理(同样,它在CPU级别以二进制格式运行)。Randall在KubeCon+CloudNativeCon期间说:“从逻辑上讲,WebAssembly给了你一个以前可能听说过的承诺:写一次,在任何地方运行,你以前可能听说过Java或SilverLight,或Flash,或之前的一种技术,但WebAssembly的区别在于这是社区驱动和开放的。如今,它已经嵌入并支持桌面和移动设备上所有最现代的浏览器平台。因此,每个人都可以开始使用WebAssembly,它的工作原理就像一个小小的CPU——你甚至可以将web assembly放在其他应用程序中。”

然而,虽然WebAssembly可以提供一些漂亮的基准测试,并在堆栈级别上提供多种效率,但它只能提供其所能提供的业务用途。边缘计算是Wasm开始崭露头角的一个例子。企业管理协会(Enterprise Management Associates)分析师Torsten Volk表示,这是因为将编译好的代码分发给任何可以运行标准浏览器的东西的能力为一系列边缘用例奠定了基础。

“编译后的代码通常比首先必须由主机设备进行解释的代码运行得快得多。这使得边缘设备的功能(例如企业应用程序或机器学习功能)得到了提高,因为消耗的CPU和电源资源更少。Wasm将现已失效的Flash或Silverlight技术的优点带到任何浏览器上,但不受任何特定供应商的限制。”

Volk说,Wasm的社区驱动方法应该解决“扼杀了这些其他客户端技术”的安全性和兼容性挑战。“此外,这使JavaScript开发人员能够调用编译过的C++函数,反之亦然,使JavaScript开发人员可以访问编译过的语言。”

业务相关

那么你能用Wasm做什么呢?

在KubeCon+CloudNativeCon联合举办的“云原生Wasm欧洲日”活动中,展示了为Wasm编译的CMS如何支持云计算公司Fermyon的网站。WebAssembly在公司提供的服务中也扮演着重要角色。Fermyon首席执行官Matt Butcher在演讲中表示:“我们的想法是,作为一家进入新领域的新公司,有许多SEO性能优化非常重要。对我们来说,重要的一件事是,人们可以方便地阅读有关WebAssembly的信息。因此,我们花了大量时间提前设计CMS,以便源代码的顺序是正确的。我们决定遵循最佳实践的所有规范,将其全部内置,以便在作者编写内容时,不必考虑搜索引擎优化。”

Fermyon的创始人还希望给网站设计师“以他想要的方式做事情”的自由,允许他选择想要的主题引擎、CSS框架和JavaScript库。Butcher在演讲中说,这些都被纳入了“一系列非常强大的功能中”。

数据堆栈上的计算和数据之间的分离增加了延迟并导致其他问题,这对于流、边缘连接和其他分布式应用程序来说尤其麻烦。Fluvio项目的创始人、数据智能平台提供商InfinyOn的联合创始人Sehyo Chang在演讲中表示,基于Wasm的在线计算可以消除数据和计算之间的竖井。这是通过数据流开源Fluvio对Wasm的实现来实现的,以创建一个提供以下功能的分布式流平台。

Chang说,这对业务的影响是巨大的。为了创造Chang在演讲中描述的“实时经济”,由于Wasm的配置,跨数据流以及数据库和记录系统之间的现有延迟可以显著减少。由于Wasm相对简单的二进制计算结构,应用程序和代码更易于审计和实施安全策略。

在一个数据流应用程序中,Chang展示了Wasm是一个“游戏规则改变者”,它将隔离性与可移植性相结合,“允许我们通过将计算基础设施和数据集扁平化为统一的堆栈来重塑计算基础设施和数据集。这个堆栈可以从边缘环境到云,可以跨越大陆和不同的位置。”

Adobe将Wasm推向了边缘

Wasm在Adobe中被大量使用。Adobe高级软件工程师Colin Murphy在演讲中详细介绍了CDN edge compute和Wasm/WASI平台,以及当前和未来的Adobe应用程序。Murphy说:“在Adobe有很多C++代码,WebAssembly允许你做的就是将这些代码带到浏览器中。因此,如果没有它,我们就无法将Photoshop和Acrobat引入浏览器……Adobe已经做了大量工作来改进WebAssembly标准,以实现更高的性能、更好更快的内存访问等。”

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章