SCALE 19x logo
Los Angeles, CA
July 2022

Stateful Workflow Orchestration and WebRTC Streaming with Selkies


Containerized development environments are not a new concept, but you need additional technology to orchestrate and deliver them at scale. Traditional OSS streaming technologies like VNC lack the native web integration and ability to deliver high definition streaming. The OSS Selkies project was started at Google and uses Kubernetes, Istio, GStreamer and WebRTC to deliver high definition, high frame rate streaming experiences to the browser.


The Selkies project was created by, and made Open Source in 2019 by Dan Isla, a former Google Cloud Solutions Architect. Dan left Google in 2020 for itopia inc to maintain Selkies full time and deliver it as a fully managed service. Selkies is built on Kubernetes and uses a custom controller to provide a flexible way to orchestrate per-user environment templates rendered as Kubernetes manifests. The controller exposes a user-facing API to deploy manifests for Pods, Persistent Volumes, Virtual Services and other resources on-demand.


WebRTC is a relatively new IETF standard and allows browser platforms to establish low-latency peer-to-peer UDP connections secured with DTLS. WebRTC is widely used for web-based video conferencing software and VoIP solutions. Network traversal is also a core component of WebRTC, allowing it to connect through networks with complex NAT and firewall configurations. There is also a signaling component to WebRTC which is a side-channel service not included in the spec and is used to establish the initial connection and exchange network connection candidates. Selkies solves many of the challenges around using WebRTC in containers, running containerized X.Org servers, sharing GPUs on a Kubernetes node for hardware accelerated video encoding, and translating user inputs from javascript to Linux system calls.


As a generic stateful workload operator, the Selkies platform is flexible and not just limited to WebRTC streaming. With Selkies, you can deliver other per-user web-based workloads such as Visual Studio Code Server, Jupyter Notebooks, Xpra, and Guacamole. Storage is another important component of per-user environments and Selkies leverages the Kubernetes ecosystem of storage integrations.


Today, the Selkies project is actively maintained by its creator, Dan Isla, and is looking to grow and improve with input from the community.

Los Angeles AB
Saturday, July 30, 2022 - 15:00 to 16:00