Elevator Pitch
Expanding the number of supported languages in WebAssembly will drive massive adoption and support from the mainstream developer community. WebAssembly empowers developers by allowing them to use the languages, libraries and tooling they already know and love within a safer, sandboxed environment.
Description
In this talk we will explore how programs written in interpreted languages can be executed within a WebAssembly sandbox, effectively reducing the number of security threats they are exposed to. We will show what are the common pitfalls that we you will hit when executing programs in interpreted languages when their interpreter is running as a WebAssembly module. We will share some of the lessons learned and best practices around running Ruby, Python and PHP applications in WebAssembly.
Companies build their applications in a wide variety of languages. As time passes by, different languages and frameworks are introduced into the company tech stack. This increases the deployment complexity as well as management of those applications in the infrastructure.
Virtual Machines and containers were created to fill this gap. You can run heterogenous applications on top of the same hardware. However, they came with their own trade-offs in terms of security issues, performance, and management overhead.
With WebAssembly, you can compile different applications targeting the same binary format. Wasm modules are lightweight, simplifying running and transferring them. Thanks to its sandboxing and capability-based security features, wasm modules cannot access system resources by default. You can grant fine-grained access to resources such as filesystem or sockets.
Expanding the number of supported languages in WebAssembly will drive massive adoption and support from the mainstream developer community.
Notes
At the WasmLabs at the VMware’s Office of the CTO, we have the mission to grow and improve the WebAssembly ecosystem. We are working on building language interpreters compiled to WebAssembly so that developers can run their programs in an easy and safe way using the languages they already know and love. As part of this effort, we have ported the PHP interpreter to WebAssembly + WASI and are in the process of contributing these changes upstream.
All the work that we are doing in this scope, such as porting PHP to wasm32-wasi, is Open Source and our main goal is to contribute all changes to the upstream projects.
Regarding the speakers, Rafael has an extensive experience in Kubernetes, Open Source as a KDE contributor and many public talks at conferences like KubeCon (1, 2). Asen, has amassed experience in management of virtualization resources while working on VMware vSphere and in cloud-native file systems while working at LucidLink.