Looking for this year's edition? Please visit WASM I/0 2024

Session

Look who's talking!

Detail illustration WASM I/O Detail illustration WASM I/O
Tony Kay
blend-mode

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
  • 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.

View all sessions