The video on-demand of this session is available to logged in QCon attendees only. Please login to your QCon account to watch the session.

Session + Live Q&A

WASI: A New Kind of System Interface

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.

Main Takeaways

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

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


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.


Speaker

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:

Date

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

Track

WebAssembly Throughout the Stack

Topics

WebAssemblyWeb DevelopmentJavaScriptProgramming

Add to Calendar

Add to calendar

Share

From the same track

PANEL DISCUSSION + Live Q&A WebAssembly

Panel: WebAssembly - the Past, Present and Future

Tuesday May 18 / 01:00PM EDT

WebAssembly, despite having ‘web’ in its name, is proving to be much more than just a browser technology or JavaScript rival. The properties of this runtime (multi-language, lightweight, sandboxed, secure, cross-platform, etc) have piqued the interest of the wider community. In the...

Aaron Turner

Senior Software Engineer @Fastly

Taylor Thomas

Senior Software Engineer @Microsoft

Matt Butcher

Principal Software Developer @Microsoft

PANEL DISCUSSION + Live Q&A WebAssembly

Experimenting with WASM for future audience experiences in BBC iPlayer

Tuesday May 18 / 11:00AM EDT

In BBC R&D we are exploring how we might deliver future audience experiences which are immersive, interactive and object-based to all our audiences regardless of what devices they might have at home. We want to build a platform which will allow audiences to interact with what they see on...

Tim Pearce

Software Engineer and WebAssembly Advocate R&D @BBC

PANEL DISCUSSION + Live Q&A WebAssembly

Wasm in the Wild West: A Practical Application Tale

Tuesday May 18 / 12:00PM EDT

Almost one year ago, our team released Krustlet, a Kubernetes Kubelet implementation for running WebAssembly modules in the cloud. Since then, we’ve spent plenty of time out on the frontier, implementing full Kubernetes functionality for Wasm as well as other experiments like WAGI. Along...

Taylor Thomas

Senior Software Engineer @Microsoft

Matt Butcher

Principal Software Developer @Microsoft

View full Schedule