TNS
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
NEW! Try Stackie AI
WebAssembly

How to Build Serverless WebAssembly Apps With SpinKube

In a demo for The New Stack Makers Kate Goldenring of Fermyon Technologies showed how SpinKube can help build serverless Wasm apps.
May 24th, 2024 8:27am by
Featued image for: How to Build Serverless WebAssembly Apps With SpinKube

SEATTLE — In a demo for The New Stack Makers recorded at Open Source Summit North America, Kate Goldenring of Fermyon Technologies showed SpinKube as a way to build serverless WebAssembly applications with a declarative, command line interface (CLI).

A Kubernetes operator, SpinKube allows platform engineers to deploy applications as custom resources to their Kubernetes clusters.

SpinKube is also a runtime for executing the applications that the user builds, said Goldenring, a senior software engineer at Fermyon. It lets you build applications locally on your machine. It then takes that same application and runs it on Kubernetes clusters.

Made of four projects, SpinKube includes the spin operator, where the user declaratively states that this is their Spin application. It’s a form of a custom resource that runs in a cluster.

“And then you have the containerd shim, which is actually the shim that runs on top of containerd that lets you execute this WebAssembly application instead of a container on your Kubernetes cluster,” Goldenring said.

“And then you might think, OK, now I have to go install the shim on all of my nodes in my cluster, that sounds like a headache. Well, instead, you can use the runtime class manager, which was made by folks from Liquid Reply, which used to be called Kwasm. And that installs the shim for you. And then, to make it all easier, there’s a plugin called the SpinKube plugin. That makes it all one simple spin cube scaffold experience.”

A Demand for Running Wasm on Kubernetes

Fermyon Cloud runs many WebAssembly (Wasm) applications on Nomad, the workload orchestrator developed by HashiCorp. However, more and more people want to start running Wasm on Kubernetes.

“And actually, the containerd shim was created by folks at Microsoft, who wanted to run Spin applications on AKS clusters,” Goldenring said. “And so already there was a clear desire for that, but the experience was a little hard getting that shim onto your cluster.

“And then how do I update my Spin applications to connect to different data sources —  a key-value store, a Redis database, or a Redis key value store, or a SQLite database? And so we brought together these projects out of that demand from users to have an open source project where everyone’s collaborating on this smooth, WebAssembly Kubernetes experience.”

What does this mean for the user trying to run event-based services on Kubernetes?

“People are a little frustrated with the serverless story that exists,” Goldenring said. “And people are trying to write event-driven serverless applications on Kubernetes. And it’s not good, they’re not getting enough reactiveness out of their applications that they want. And SpinKube provides another way to do that.”

Check out the full video to see how SpinKube works.

Group Created with Sketch.
TNS owner Insight Partners is an investor in: Fermyon.
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.