List of videos

Wasmer Things: An Upside-Down Guide to WebAssembly by Edoardo Vacchi @ Wasm I/O 2023
Wasm I/O 2023 / 23-24 March, Barcelona As a developer, you may have heard about WebAssembly already: * as a Web developer, you may have learned how Wasm plugs into your own ecosystem * as a backend developer, you may know that it is somewhat similar to the .NET CLR or the JVM; * as a systems developer, you may know that it is a compilation target of your favorite C/C++ or Rust toolchain. Well, this talk is for all of you! Countless tutorials are available on the Web to build your first executable, but have you ever tried digging beneath the surface? Join me for this talk and learn more about the WebAssembly specification from the Upside-Down, lower-level perspective of a compiler enthusiast; and discover why more and more projects are making Wasm their sandboxed, memory-safe runtime environment of choice!
Watch
From Event-Driven to Automotive by P J Laszkowicz @ Wasm I/O 2023
Wasm I/O 2023 / 23-24 March, Barcelona Slides: https://2023.wasmio.tech/docs/sessions/event-driven-to-automotive-wasmio23.pdf A showcase and discussion of modern event-driven architecture, extended through WebAssembly, which enables re-usable domain logic to be injected by the customers, from an infrastructure level, all the way through services and web applications, to embedded software in EV vehicles. A showcase of several projects delivered over the past few years, which utilise practical applications of WebAssembly at every level of a service’s architecture. This will begin with how we started applying WebAssembly at an infrastructure level by extending large scale clusters and applying zero-trust policies across complex systems using a single codebase. Moving into the service layer, we will discuss modern event-driven architecture, and then discuss how adding gRPC and WebAssembly not only provided our own teams with a richer toolkit, reduced effort, and an ability to extend their machine learning capabilities into the event-queue itself, but also enabled the services to be opened to third-party developers through rich, sandboxed, software development kits. Finally we will touch upon our work with using WebAssembly in the browser for optimizing machine learning tasks, in a privacy-preserving manner using federated learning, and then how we took part of this same work and applied it into upcoming state-of-the-art electric vehicles. Our discussion will cover why we made these decisions with the inherent risks, and also why we are continuing with WebAssembly, after the lessons learned through these processes.
Watch
Containers vs. WebAssembly: What's the Difference and Which Should I Use? Panel @ Wasm I/O 2023
Wasm I/O 2023 / 23-24 March, Barcelona Panelists: Saiyam Pathak, Daniel Lopez, Kate Goldenring, Shivay Lamba The cloud native community is garnering excitement around WebAssembly (Wasm). It offers a new way to package your application that provides secure memory isolation, portability, and quick start up times. Given the choice to package an application as Wasm modules or containers, which should I choose? Are the two technologies interchangeable? In this panel, discussion speakers will share their experience working with Wasm and their point of view from the cloud-native perspective. A blanket statement that “Wasm will replace containers” is a bold one. Instead, which use cases are best suited for Wasm workloads vs containers, and where do Wasm modules and containers best coexist? How should one go about orchestrating Wasm modules in the Cloud, whether with Kubernetes, Nomad, or a PaaS? The panelists will focus on these important questions which will greatly help the audience in understanding the landscape and assessing whether they could benefit from adding Wasm to their technology stack. The panel will dive into the benefits of the Wasm and container ecosystems, such as the tooling support, cold startup times, application size, and more. The panel will also address the maturity of Wasm, pointing out some of the current limitations that exist in server-side Wasm and its developer tooling. By the end of the discussion, the audience will have a good understanding of both the technologies and where they stand today. They will clearly understand the similarities and differences between Wasm and containers and their best use cases.
Watch
Building Ephemeral Virtual Filesystems for WebAssembly by Daniel Phillips @ Wasm I/O 2023
Wasm I/O 2023 / 23-24 March, Barcelona Slides: https://2023.wasmio.tech/docs/sessions/building-ephemeral-virtual-filesystems-wasmio23.pdf Many programs need filesystems, and a common approach for Wasm-compiled applications is to make the host filesystem available to the module. Why not the other way around? Let’s bring a virtualized filesystem to the WebAssembly module itself, and see what we learn in the process. The unix philosophy that “everything is a file” is a fundamental idea that powers platforms that run a huge amount of software today. If we want Wasm to be a deployment target for existing applications, we have to grapple with this fact and figure out how we intend to approach the problem of filesystems and filesystem-like entities in this new platform. The WebAssembly System Interface (WASI) takes the position of providing scoped access to the underlying host for these operations. However, what if we went the opposite direction? Why not bring a filesystem to the Wasm environment? This talk will describe what currently exists in and around this space, how WASI approaches the problem, alternatives, including Emscripten’s filesystem and wasi-vfs, and also a series of experiments for another idea of “ephemeral” virtual filesystems that are generated for specific modules depending on the needs of the application logic. I will walk through these various options, the experiments, and a path forward for this type of approach to interacting with filesystem entities in Wasm modules.
Watch
Mobile app development with WebAssembly GC by Vivek Sekhar @ Wasm I/O 2023
Wasm I/O 2023 / 23-24 March, Barcelona Slides: https://docs.google.com/presentation/d/1a33Ky1SScwJqtd3D46KhdE26nuNM3kJxaNIgcoahPcs/edit WebAssembly is improving native support for Kotlin and Dart. Learn about the "WasmGC" extension and how it will help developers write smaller and faster Web apps and share code across native platforms and the Web.
Watch
Spin it! Jumpstart your Wasm journey with Fermyon Spin by Thorsten Hans @ Wasm I/O 2023
Wasm I/O 2023 / 23-24 March, Barcelona Slides: https://speakerdeck.com/thorstenhans/spin-it-jumpstart-your-wasm-journey-with-fermyon-spin Knowing about the potential and the impact of WebAssembly (Wasm) for serverless computing, we will dive deeper and see serverless Wasm in action. This talk guides you through patterns and practices for building serverless workloads with Fermyon Spin. Thorsten Hans addresses everyday developer tasks like routing, configuration management, and persistence. You’ll understand how to integrate Wasm into your distributed application architecture and interact with existing components. It’s time to jumpstart your WebAssembly journey and design distributed architectures for the next wave of cloud computing!
Watch
WebAssembly functions for your SQLite-compatible database by Piotr Sarna @ Wasm I/O 2023
Wasm I/O 2023 / 23-24 March, Barcelona Slides: https://docs.google.com/presentation/d/1rTSabOdABy1dW4XGxemqpgMlqW4eviUFvD8uJvOGjz4/edit?usp=sharing This talk introduces libSQL: a fork of SQLite, and its support for dynamic function creation and execution directly via SQL, all powered by Wasm. It also covers how to implement and use a convenient library (libsql_bindgen) for compiling Rust code straight to Wasm, with automatic type translation. SQLite is a key piece of software for modern infrastructure. But while SQLite allows registering arbitrary user-defined functions via programmatic APIs, there’s no support for good old CREATE FUNCTION syntax for managing functions straight from SQL. This talk introduces libSQL: a fork of SQLite, and its support for dynamic function creation and execution directly via SQL, all powered by WebAssembly. libSQL is compatible with multiple runtimes, including Wasmtime and WasmEdge. The talk also covers how to implement and use a convenient library (libsql_bindgen) for compiling Rust code straight to Wasm, with automatic type translation.
Watch
A Technical Deep Dive in WebAssembly for Kong Gateway by Viktor Gamov & Caio Casimiro @ Wasm I/O 23
Wasm I/O 2023 / 23-24 March, Barcelona Slides: https://noti.st/vikgamov/KJBdqP/a-technical-deep-dive-in-webassembly-for-kong-gateway Get ready for the ultimate API management experience! Discover the power of WebAssembly in Kong Gateway using WasmX. Learn how to build custom plugins for the latest in API management technology. Don’t miss this chance to learn from a Kong expert and take your API management to the next level! We all know WebAssembly is a game-changer in multi-language development, but have you ever wondered how to use it in your API gateway? Well, that’s where WasmX comes in. It extends Nginx to support WebAssembly in a way agnostic to virtual machines. Viktor Gamov, a principal developer advocate at Kong, will give you a sneak peek of the new support we’re adding to the Kong Gateway - the most popular open-source gateway, using WasmX, a project we’ve been working on here in Kong. Viktor will also talk about Proxy-Wasm, the emerging standard for gateway extensions using Wasm, which allows you to write filters once and use them in different gateways or meshes. In the end, we will touch on the performance aspects of WasmX and Kong Gateway.
Watch
Give super powers to Java with WebAssembly by Philippe Charriere @ Wasm I/O 2023
Wasm I/O 2023 / 23-24 March, Barcelona Slides: https://docs.google.com/presentation/d/1u6DFpLF4NjCTkpELerWZQf49F_UmIWF_hCjvi2vhXRA/edit?usp=sharing WebAssembly (WASM) promises to run code in the browser from a binary (coded in Rust, Go, C, …) are fulfilled. Its qualities (speed, efficiency, security, polyglot) meant that WebAssembly could be run on a wide variety of platforms (other than the JavaScript VM) for many use cases, such as: Plugins for applications (for example, Zellij) Filters for proxies (for example, Envoy) User-defined functions for databases (for example ScyllaDB) Functions for FaaS (for example, Fermyon Platform) This is made possible by the WASI (WebAssembly System Interface) specification, which allows WASM code to be executed in various contexts. The execution of WASM modules by a Java application was until recently almost impossible or “acrobatic”, and this, even if GraalVM provides WASM support (too light and poorly or not documented). This gap is now filled by the Extism project, which allows writing WASM plugins in various languages for your Java applications. In this presentation, I will explain how to develop a Vert-x application with WASM plugins in Rust, Go and Zig. The first steps to develop a FaaS.
Watch