Experimenting With .NET & WebAssembly - Running .NET Based Spin Application On WASI Node Pool in AKS

20 gru 2022 | Blog | programowanie | c# | .net | aks | azure | kubernetes | webassembly | IT

I'm quite an enthusiast of WebAssembly beyond the browser. It's already made its way into edge computing with WasmEdge, Cloudflare Workers, or EdgeWorkers. It's also made its way into cloud computing with dedicated clouds like wasmCloud or Fermyon Cloud. So it shouldn't be a surprise that large cloud vendors are starting to experiment with bringing WASM to their platforms as well. In the case of Azure (my cloud of choice), it's running WASM workloads on WASI node pools in Azure Kubernetes Service. This is great because since Steve Sanderson showed an experimental WASI SDK for .NET Core back in March, I was looking for a good context to play with it too.

I took my first look at WASM/WASI node pools for AKS a couple of months ago. Back then the feature was based on Krustlet but I've quickly learned that the team is moving away from this approach and the feature doesn't work with the current version of the AKS control plane (it's a preview, it has that right). I've decided to wait. Time has passed, Deis Labs has evolved its tooling for running WebAssembly in Kubernetes from Krustlet to ContainerD shims, and the WASM/WASI node pools for AKS feature has embraced it. I've decided to take a look at it again.

The current implementation of WASM/WASI node pools provides support for two ContainerD shims: Spin and SpiderLightning. Both, Spin and Slight (alternative name for SpiderLightning) provide structure and interfaces for building distributed event-driven applications built from WebAssembly components. After inspecting both of them, I've decided to go with Spin for two reasons:

    POSTY TEGO AUTORA

    Monitoring C# Azure Functions in the Isolated Worker Model - Infrastructure & Configuration Deep Dive26 lis 2024

    Blog | programowanie | .net | c# | azure functions | IT

    ASP.NET Core 9 and IAsyncEnumerable - Async Streaming JSON and NDJSON From Blazor WebAssembly24 wrz 2024

    Blog | programowanie | .net | c# | asp.net core | blazor | IT

    Azure Functions Extensibility - Extensions and Isolated Worker Model5 mar 2024

    Blog | programowanie | .net | c# | azure functions | azure | IT

    Azure Functions Extensibility - Runtime Scaling22 lut 2024

    Blog | programowanie | .net | c# | azure | IT

    Yet Another Developer Blog

    noreply@blogger.com (Tomasz Pęczek)