🥳 WasmEdge (formerly SSVM) is now a CNCF Project

Jun 02, 2021 • 5 minutes to read

The WasmEdge Runtime (formerly SSVM) is a lightweight and high-performance WebAssembly (WASM) VM optimized for edge computing. It is widely used in scenarios ranging from cloud serverless functions, SaaS, blockchain smart contracts, IoT, to automotive real time applications.

WasmEdge has recently been accepted by the CNCF Foundation as a sandbox project, which is the world's first official CNCF WebAssembly runtime project. We envision that it will fill an important role in CNCF’s open source cloud computing landscape as a mission critical lightweight runtime for edge clouds.

Source code: https://github.com/WasmEdge/WasmEdge

The beginning

Twenty five years ago, Java was first invented as a programming language for browser widgets. But it eventually found success on the server side. Later, JavaScript repeated the same migration path from browser to server / cloud via Node.js. Today, WebAssembly is again in the middle of a migration from browser to the cloud. WasmEdge is on the forefront of this historic migration.

History rhythms but never repeats. While the WebAssembly migration from browser to cloud is driven by some of the same factors as Java and JavaScript before it, such as adoption by young developers, and a popular programming language (Rust), WebAssembly is also uniquely well suited to handle the modern cloud computing workload. Specially, WebAssembly’s lightweight design and advanced security model, together with Rust language’s memory safety, enables it to be used in high performance and mission critical applications in the cloud. Especially on the edge cloud, IoT devices, and automobiles, where traditional containers and VMs are too heavy and slow, WebAssembly could potentially become the dominant runtime technology.

WasmEdge, formerly SSVM, is an open source WebAssembly VM optimized for the modern cloud and edge devices. According to a research paper published on IEEE Software, with advanced AOT compiler support, WasmEdge is the fastest runtime on the market today.

Key Features of WasmEdge

WasmEdge is fully compatible with the W3C WebAssembly standard. Out of the box, it is supported by standard language and compiler tool chains, such as LLVM, Rustc and emscripten. WasmEdge is differentiated for its support for extensions, especially extensions for edge computing.

For starters, WasmEdge supports W3C optional WebAssembly features and proposals, such as WebAssembly System Interface(WASI) spec, Reference type, Bulk memory operations, and SIMD. We are also exploring the wasi-socket proposal to support network access in WebAssembly programs.

Furthermore, WasmEdge supports non-standard extensions designed for specific application scenarios.

  • Tensorflow. Developers can write Tensorflow inference functions using a simple Rust API, and then run the function securely and at native speed inside WasmEdge. We are working on supporting other AI frameworks.
  • Storage. The WasmEdge storage interface allows WebAssembly programs to read and write a key-value store.
  • Command interface. WasmEdge enables webassembly functions to execute native commands in the host operating system. It supports passing arguments, environment variables, STDIN / STDOUT pipes, and security policies for host access.
  • Ethereum. The WasmEdge Ewasm extension supports Ethereum smart contracts compiled to WebAssembly. It is a leading implementation for Ethereum flavored WebAssembly (Ewasm).
  • Substrate. The Pallet allows WasmEdge to act as an Ethereum smart contract execution engine on any Substrate based blockchains.

Last but not least, WasmEdge is a “cloud-native” WebAssembly VM. It supports the OCI (Open Container Initiative)specification, which will allow WasmEdge instances to be managed by cloud-native orchestration tools such as Kubernetes.

WasmEdge is formerly called SSVM.

Use Cases

WasmEdge is optimized for edge and embedded use cases. It turns your software or hardware product into a developer platform. Here are some specific use cases.

The Future

The WebAssembly ecosystem is still in its early days. Hosted by CNCF, WasmEdge aims to become an open source “reference implementation” of WebAssembly and its edge-related extensions. The community will be able to experiment with new extension ideas on WasmEdge first, and then standardize the successful extensions. The WasmEdge community will also contribute to compiler toolchains and SDKs to support WebAssembly and WasmEdge extensions in more programming languages.

Join us in the WebAssembly revolution!

👉 Slack Channel: #wasmedge on CNCF slack channel

👉 Mailing list: Send an email to WasmEdge@googlegroups.com

👉 Twitter: @realwasmedge

👉 Be a contributor: checkout our wish list to start contributing!

RustGoWebAssemblyWasmEdgeopen-sourceCNCFCloud Native
A high-performance, extensible, and hardware optimized WebAssembly Virtual Machine for automotive, cloud, AI, and blockchain applications