Wasmer场景支持

Wasmer支持的场景: 区块链,FaaS,ML/AI

https://wasmer.io/

超强的区块链基础设施

https://wasmer.io/wasmer-for-blockchain

WebAssembly是执行智能合约的主流格式,Wasmer是区块链和加密货币供应商的首选WebAssembly运行时。

挑战

区块链能够实现简单、透明和安全的交易。然而,区块链的分布式性质给区块链应用和基础设施供应商带来了若干挑战。

  • JIT炸弹

    确保恶意的或写得不好的智能合约不会崩溃或阻止所有区块链用户的交易处理。(JIT-bombs)

  • 确定性

    支持异构基础设施上的智能合约的确定性。(不同的芯片组和平台必须以相同的方式运行特定的相同的智能合约)

  • 规模

    随着区块链中区块数量的增加,扩展智能合约执行的数量

Wasmer的好处

  • 没有JIT炸弹

    由于恶意或拙劣的代码,JIT炸弹会减慢或阻止智能合约进程。Wasmer的Singlepass编译器有助于消除JIT炸弹,使区块链供应商能够为其应用程序提供高质量的服务基础设施。

  • 异构基础设施

    Wasmer的区块链基础设施确保每个智能合约的执行结果返回相同的结果,无论底层基础设施如何。(例如,x86_64,ARM,等等)

  • 性能

    Wasmer编译器引擎和运行时确保高性能的编译和代码执行,没有任何错误编译。

FaaS平台

https://wasmer.io/wasmer-for-faas

Wasmer是在服务器上启用WebAssembly的市场领导者。它几乎消除了开发人员必须处理的所有挑战,以完全采用FaaS作为其应用开发战略的一部分。

挑战

FaaS应用有许多优点。然而,与大多数技术一样,也同样存在着许多挑战和权衡。

  • 冷启动

    函数并不总是在内存中可用。由此产生的执行延迟使FaaS失去了某些类型应用的资格,或者迫使开发者部署变通方法,增加了部署成本。

  • 供应商锁定

    部署在AWS Lambda上的功能可能难以推送到不同的云供应商,特别是当其他AWS服务(如S3或RDS)是你的应用程序架构的关键组成部分时。

  • 本地可重现性

    在本地基础设施上测试或重现供应商的平台功能是很复杂的,可能需要依靠社区支持的变通方法(如Miniflare)。

  • 隐形成本

    FaaS平台是对用户不明显的完全托管服务,如果不加监督,在活动高峰期往往会产生意想不到的成本。

  • 安全/合规性

    完全托管的平台在补救安全问题时可能会很慢,或者不能完全遵守你的业务需求的具体规定(例如,GDPR、SOX、HIPPA等)。

Wasmer的好处

  • 快速启动时间

    Wasmer实现了Wasm模块的预编译,以实现超快和反应迅速的启动时间。

  • 无供应商锁定

    Wasm模块被编译成通用的二进制文件,可以迅速适应在任何供应商的基础设施上运行。

  • 本地可重现性

    Wasmer Runtime使您可以在本地运行和测试所有的服务组件。

  • 遗留支持

    将传统的服务器端代码编译为WebAssembly并作为一个函数运行。

  • 开发效率

    消除不相干的开发成本,使开发人员能够用他们熟悉和喜爱的语言工作。

可移植的ML/AI应用和模型

https://wasmer.io/wasmer-for-ai

机器学习和人工智能

Wasmer是在服务器上启用WebAssembly的市场领导者。它几乎消除了开发人员在数据中心环境内外部署机器学习应用程序必须应对的所有挑战。

挑战

  • 模型的可移植性

    收集数据或将模型部署到异构的基础设施和设备上是很困难和昂贵的。

  • 数据的爆炸性增长

    更多的设备意味着必须收集、处理更多的数据,并将其纳入ML/AI模型。

  • 有限的连接

    高速网络并不总是可用的,或者设备可能长期处于离线状态。

  • 有限的电力

    训练ML/AI模型需要大量的基础设施资源和电力,而这些资源和电力在数据中心之外可能并不总是可用。

  • 安全性

    物联网设备上的ML/AI应用特别容易受到常见安全风险的影响,如数据中毒或转移学习攻击,其中现有的训练模型被劫持用于恶意目的。

  • 极致可移植性

    WebAssembly实现了通用二进制文件,Wasmer Runtime确保ML/AI Wasm应用程序在任何设备上运行。

  • 小的足迹

    Wasmer的无头和特定架构的编译选项可以扩展到更多资源限制的设备。

  • 性能

    Wasmer提供多个引擎和编译器,以帮助开发人员优化他们的部署,以满足他们的具体性能要求。

  • 安全性

    将服务器端的WebAssembly与主机设备明确隔离,只允许访问所需的组件或传感器数据。