Cloud Native ComputingDevelopersDevOpsFeaturedLet's TalkOpen SourceVideo

Cloud-Native WebAssembly: The New Frontier

0

Guest: Matt Butcher (LinkedIn)
Company: Fermyon Technologies (Twitter)

In this episode of TFiR: Let’s Talk, Swapnil Bhartiya sits down with Matt Butcher, CEO at Fermyon Technologies, to talk about cloud-native WebAssembly (Wasm) and why it is a good fit for the company’s goal of creating an environment that makes it easy to build a new generation of distributed microservices.

Key highlights of this video interview:

  • WebAssembly is a great example of one of those technologies that started in one area and has really expanded into other categories: 1) Being able to use it in browser to do things maybe more sophisticated than what you can do with JavaScript, e.g., Figma, a high performance graphics code written in C++ and then compiled to WebAssembly to run it on the browser side; 2)  IoT and far edge where WebAssembly is built to run on various devices that don’t have huge processors or a lot of memory; 3) As a plugin technology, WebAssembly provides a security boundary plus really easy API extension mechanism; and 4) Running WebAssembly on the cloud in the serverless functions world. It makes it easy to build microservices and build the backend of web applications.
  • Butcher differentiates the 3 classes of cloud compute: 1) Virtual machines are in the heavyweight class. You package up the kernel and drivers all the way through the application code with everything in between into one big package, upload it onto somebody else’s server environment, and then you can execute that entire thing. 2) Containers are in the middleweight class: you don’t have to include the kernel and the drivers, you only need a subset of the core operating system when you package everything up. Instead of taking minutes to start up like a full-sized virtual machine does, they tend to take seconds, maybe 30 or 40 seconds on the higher end. 3) In the lightweight class is WebAssembly. Instead of taking seconds or minutes to start up, it takes under a millisecond. You also don’t package up a lot of the file systems that you do with Docker images.
  • It is not easy to take an application and lift-and-shift it into WebAssembly. It often requires adjustment of the code. Fermyon is all in on trying to figure out how to solve this and what the right applications are for today.
  • Applications where WebAssembly is not yet ready to do: threading, universal garbage collector, large mathematical operations.
  • One specification that is working its way through W3 is the component model, which will allow two different WebAssembly binaries to communicate with each other securely, via the host runtime. The idea is to start being able to write libraries in one language and compile them into a WebAssembly binary and access them easily from another WebAssembly module. It will open the floodgates of new and unique applications of WebAssembly that simply can’t be done in any language ecosystem right now.
  • Fermyon is active in CNCF and Bytecode Alliance. It regularly allocates engineering time to work on projects under both umbrellas.
  • WebAssembly’s core is still maturing. Butcher likens its ecosystem to the early Java days. Embedded was supposed to be the big area for Java to go into and yet, very quickly, people embraced it as a general-purpose programming language. Similarly, the general-purpose potential of WebAssembly is starting to hit right now. Fermyon is in the CNCF ecosystem and is more interested in cloud native development. Other companies are in the security ecosystem where they work on trusted compute, SingleStore databases. This explosion of organizations that are working on WebAssembly but connected to other ecosystems means they will all work together to build a good general-purpose platform.

This summary was written by Camille Gregory.