WASI: A New Kind of System Interface

What You'll Learn

1Hear about WASI, what it is and what it wants to achieve.

2Learn about systems’ interface, and the need to develop a new interface for the systems of today, IoT, Edge, cloud, etc.

The system interfaces we use today were designed in the 70s and 80s to power the systems that were prevalent at that time. But increasingly what a "system" even is, is much more open-ended. They include distributed applications spanning the cloud and edge networks, tiny IoT devices scattered throughout our homes, or platforms that embed sandboxes to run untrusted code.  

With the WebAssembly System Interface, we’re building a new kind of system interface to better support these kinds of systems. And with this shift, new opportunities are opening up.

In this talk, I’ll walk you through what this means and share examples of opportunities that could be unlocked.

What's the focus of your talk?

The title of the talk is WASI, a new type of system interface. I'll give a little bit of background. I work on the WebAssembly System Interface, which is a way for WebAssembly modules to talk to the host system in a safe way.

What are some of these use cases that we're talking about? Edge? Cloud?

We're talking about all of those. It is meant to be a new foundational layer across the entire industry. And it opens up different benefits for each different use case. For example, with Edge compute, one thing that we're doing at Fastly with our serverless solution, Compute@Edge, is fire up a new instance of the WebAssembly engine for every request that comes in. You don't have the possibility of one request coming in and being able to look at any leftover state from the last request. A lot of time, these platforms share instances across different requests. That opens up some risk, so it’s better to provide isolation between separate requests. But even more important, in the future once we’ve finalized some of the upcoming WebAssembly features, WebAssembly will be able to provide better isolation between modules in an application. WebAssembly can be launched so fast, orders of magnitude faster than a JavaScript isolate. And it has a much smaller footprint. That means that you can also break up your code into smaller pieces so that you have a smaller blast radius in case an attacker is able to exploit one of these components. 

Are you talking about what we can do today or are you talking about the vision of where we're going with WASI?

I am talking about the vision of where we're going with WASI. We are moving one of the core pieces of WASI to phase three, which means it is ready for implementation. You can play around with it today, but with the move to phase 3, we're moving towards actual production readiness.

What do you want someone who comes to your talk to live with?

I want them to leave with an idea of where we're going and what that might open up for them. We have a lot of contributors that are from different parts of the ecosystem, from IoT devices, from the Edge, from the cloud. But of course, we can't cover all different parts of the industry. We do think that these new primitives that we are introducing can have all sorts of great benefits for different use cases, and so we would love to have people start thinking through the possibilities here, and giving us some feedback on what they think these new ideas could do for their use cases.


Lin Clark

Senior Principal Engineer @Fastly
Lin Clark is a Senior Principal Engineer at Fastly, focusing on WebAssembly. She is a co-founder of the Bytecode Alliance, which is building a vision of a future WebAssembly ecosystem that extends beyond the browser. Many people know her through her long-running series, Code Cartoons, which helps... Read more Find Lin Clark at:

Tuesday May 18 / 10:00AM EDT (40 minutes)

TRACK WebAssembly Throughout the Stack TOPICS WebAssemblyWeb DevelopmentJavaScriptProgramming ADD TO CALENDAR Calendar IconAdd to calendar

From the same track

View full Schedule