Making its public debut in 2017, the WebAssembly open standard is designed to facilitate the execution of binary code on the web.
For developers, Wasm brings benefits such as streamlining their workflow to remove areas of labor and material resource wastage.
“We’re trying to get rid of wastage in all of the software development, and [WebAssembly] was a way to do it,” said Matt Butcher (pictured, right), chief executive officer of Fermyon Technologies Inc. “I think also there were some use cases where writing in a low-level language like Rust or C++ and then compiling it to WebAssembly would help with some of those number-crunching types of operations.”
Butcher and Justin Cormack (left), chief technology officer of Docker Inc., spoke with theCUBE industry analysts John Furrier and Savannah Peterson at the KubeCon + CloudNativeCon Europe event, during an exclusive broadcast on theCUBE, SiliconANGLE Media’s livestreaming studio. They discussed what Wasm does and how it stands to reshape web-based application development. (* Disclosure below.)
Extending new speed and security capabilities to the developer ecosystem
Managed by the World Wide Web Consortium, Wasm isn’t a conventional compiler. Instead, it’s a compilation target, allowing developers to bring in their own Rust or AssemblyScript code for execution on a browser at high speed — after being compiled into bytecode.
“It’s a specification for the instructions on how to run the code,” Cormack said. “But it’s compiled generally by the normal language compilers available nowadays. Go and Rust, for example, have WebAssembly as a target. So, it’s built into your normal compiler and it’s just another thing you can output instead of native code.”
The benefits of WebAssembly boil down to three main areas: its security model, high-level performance and infrastructure-agnostic nature, according to Butcher. The third point, in particular, means that developers can port code across multiple environments, operating systems and devices.
“Typically, when I compile a C program, I compile it to a specific operating system and a particular architecture,” Butcher explained. “That means if I build it on a Mac on the latest greatest M1 or M2 processor, you can’t run it on your Windows box without recompiling it. Wasm provides a binary format that could run on all these different devices, from very specialized small IoT devices to the big server-grade hardware that we see in the cloud and elsewhere.”
On the security side, Wasm’s inverted model means that control over security parameters are external to the preeminent language itself. Combined with its relatively small library (compared to Java, for instance), this creates a tighter, more manageable security outlook for developers, according to Butcher.
“I think part of that extensibility is that WebAssembly, on its own, doesn’t specify the external interfaces to the outside world,” he explained. “It just has a model where you define those when you create the runtime and the application. To build the browser security model, you have things you plug in and new standards such that each time you add something, you make sure that you understand the security model of the new thing you’re plugging in and that it’s hardened.”
Here’s the complete video interview, part of SiliconANGLE’s and theCUBE’s coverage of the KubeCon + CloudNativeCon Europe event:
(* Disclosure: This is an unsponsored editorial segment. However, theCUBE is a paid media partner for KubeCon + CloudNativeCon. Neither Red Hat Inc. nor other sponsors of theCUBE’s event coverage have editorial control over content on theCUBE or SiliconANGLE.)
Your vote of support is important to us and it helps us keep the content FREE.
1-click below supports your our mission for providing free content.
Join the community that includes over 15k #CubeAlumni of experts including Amazon.com CEO Andy Jassy, Dell Technologies founder and CEO Michael Dell, Intel CEO Pat Gelsinger and many more luminaries and experts.