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