Rust/WebAssembly将是云原生分布式计算的未来? - thenewstack


Java和JVM一次编写到处运行的目标目前正在受到 Rust与WebAssembly的挑战!WebAssembly将替代JVM吗?JVM未能真正成为从物联网到服务器等任何设备上运行的通用容器,WebAssembly会吗?
WebAssembly 是一种小型便携式虚拟机,可在现代 Web 浏览器、服务器和各种不同的硬件上运行。快速高效,这个开放的 WC3 标准是多种编程语言支持的编译目标,包括 Rust、C/C++、Typescript、Go 等。
WebAssembly 缩写为 Wasm,这个 Web 开放标准非常重视功能驱动的安全性,这意味着所有应用程序都在默认沙箱中启动,并且必须被授予对功能的显式访问权限。
它最初是在 Mozilla skunkworks 内部孵化的,现在由字节码联盟管理,作为 Web 浏览器、独立和云原生 Wasm 中 JavaScript 的补充。Wasm 已经超越了浏览器,并且在整个云原生生态系统中越来越受欢迎。
包括不能运行 Linux 的地方,例如微型设备、Web 浏览器内或 Apple 的 IOS、智能电视和所有其他物联网 (IoT),WebAssembly 为开发人员提供了一个可移植的 shim,同时针对操作系统和芯片组的不同组合,并兑现了一次编写,随处运行的承诺
WebAssembly 已成为 2021 年增长最快的云原生趋势之一。 随着像wasmCloud这样的分布式应用程序运行时Runtime,我们看到 WebAssembly 出现在服务器和边缘,嵌入到像Envoy这样的平台作为可扩展平台和直接云原生编排目标。
 
分布式计算挑战
在上一个技术时代,部署一直由集中托管在公共云中的微服务和 SaaS 应用程序主导。有令人信服的理由相信下一个技术时代将由分布式应用程序主导。系统架构的多样性、应用架构的多样性、分布式安全、离线使用以及部署到边缘的机器学习,都在不断推动着分布式计算的兴起。
到 2030 年,连接到互联网的设备的数量和令人难以置信的多样性将继续飙升,因为我们预计到 2030 年将有 500 亿个连接设备,企业集成任务因十几种流行且不兼容的 CPU 架构而变得更加复杂。每个都有自己相对独特的运营生命周期,来自数十家主要制造商。
WebAssembly 非常适合在这种复杂的环境中运行——甚至可以优化 Wasm 运行时以适应特定环境的应用程序。例如,Bytecote Alliance 的Wasmtime已针对服务器端执行进行了大量优化,而Wasm-micro-runtime (WAMR) 已针对较小的嵌入式设备进行了优化。
Wasm 在这方面也很出色——其近乎原生的性能使其成为独立、嵌入式或其他类型集成的理想选择。可移植性和一次编写随处运行的方法为开发人员提供了部署应用程序的新功能。
WebAssemblies 一次编写随处运行,安全模型和可移植性肯定会使其成为未来基础设施的重要组成部分。