Look who's talking!
Running interpreted languages in WebAssembly
Rafael Fernández López - VMware / Asen Alexandrov - VMware
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.
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 will hit when executing programs in interpreted languages when their interpreter is running as a WebAssembly module.
Companies build their applications in a wide set 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.
Several projects are emerging around this new promising technology although there is still not a clear route to the ultimate WebAssembly platform. Adoption by the community will be related to how easy it is to run existing software without modifications.
All the work that we are doing in this scope is Open Source and our main goal is to contribute all changes to the upstream projects.}