Session
Look who's talking!
WebAssembly and OCI - Better Together
Tony Kay - Red Hat
WebAssembly is rapidly establishing its claim as Cloud Computing’s third platform alongside virtualization and containers. In this hands-on workshop, we’ll build, sign, push, distribute, and run wasm artifacts natively using core Open Container Initiative (OCI) technologies.
After a brief overview of OCI, particularly registries, containerd, and contained wasm shims, attendees will dive straight into the hands-on portion. The session will be very light on slides, but with inline learning embedded close to the steps it relates to.
- Getting Setup
- Build your wasm artifact from scratch
- Rust source provided (simple one-command builds)
- Alternatively, a pre-built .wasm microservice provided
- Running your wasm container
- Look at Container Engines, especially Podman and Runtimes (crun)
- wasmedge support in crun
- Install the latest Container toolchain with wasm support
- Explore what is happening in the OCI runtime
- Look at Container Engines, especially Podman and Runtimes (crun)
- Push Artifact
- Push wasm artifact to OCI Compliant Registry
- Quay.io, Dockerhub, Github, or other OCI registry
- Signing with Sigstore
- Sign your wasm container
- Simple Benchmarking and performance
- Run directly via OCI Runtime crun
- Compare and contrast with containerd shim approach
- Explore emerging Kubernetes support for wasm
Attendees will leave with a good knowledge of the value of OCI in the wasm lifecycle and its potential to leverage existing standards and tooling and avoid reinventing the wheel.
Pre-requisites: Laptop. Online pre-built developer VMs will be supplied with browser and ssh access. Attendees can do some of the workshops locally in VMs or on Fedora-like laptops. However, this requires low-level changes to your Container Runtimes. This is not a coding workshop but focuses on building, signing, pushing, distributing, and running wasm rather than developing it.
Note: This session is not about building traditional containers but leveraging OCI to build single-layer wasm bytecode only OCI Container Images and utilize them.