Skip to main content
← Back

June 20, 2024

Agenda

Please note, this week's meeting will take place at the same time Thursday to make way for Juneteenth.

Meeting Notes

Welcome to our new community member, Whit Waldo who comes to us from Texas. He is the founder and CEO of Innovian. New to Wasm and wasmCloud. Referred to a Cloud Native Rejects demo and has become increasingly interested in Wasm, wasmCloud and components.

Welcome also Matthew Cascio - knows of us through community events and CNCF collaborations he runs KCD Washington, alongside a ton of other K8s-focused events. There are plenty of opportunities to connect at local Washington events - check them out. By day he works at American Red Cross working with architecture and implementation teams.

COMMUNITY DEMO: NATS key-value provider

  • Massoud - architect in industry for many years. Following the Wasm and WASI space for around 3 years. He is a self-proclaimed sceptic when it comes to new platforms but components got him really interested.
  • This is a great first example in the wasmCloud repo - NATS key-value provider.
  • He is using wasmCloud and components in a couple of early projects. The attraction was that it can stretch capabilities - something that he needs and fits well in the Kubernetes space.
  • Amazed at how quickly he could get ramped up and get started with components then diving into providers - building on the great work done in the community.
  • His provider shows the flexibility of wasmCloud and components. It's hard to to justice to the demo in notes and so please take a look at Massoud's demo in the recording below.

DISCUSSION: wasi-keyvalue and the purpose of buckets + stores

  • Specifically, wasi-cloud interface - basic operations around key-value store, get, set, delete etc.
  • Atomic increment function - the only one that has the Atomics interface. wasi-kv is the standard interface for wasi-cloud.
  • We implement in wasmCloud and in the interface itself it has a notion of a store and a bucket. So what does that mean? Brooks shows us how this works - check out the recording to see this in action.
  • When we interact with a key-value store, we will use the wasi-kv store to open a bucket and call operations on that bucket. This allows us to increment an object value.
  • When Massoud introduced us to his implementation, we decided to think about the role of a bucket in wasmCloud. When we think of the interaction from the NATS key-value perspective, NATS key-value has a notion of a store, where there are buckets that are opened individually and where we have a collection of keys and values.
  • wasmCloud concept - link names - logically separate piece of configuration for relationship between a component and a provider.
  • Link name as specified as the bucket - binding an identifier to a specific key-vaue store, defined at runtime - easier to understand and preserves vendor neutrality.
  • Link name = unique ID to specific connection between a capability and the things that consume it. A unique link name collects all the info needed to configure and connect multiple providers in the same interface. And swap in/out dynamically.
  • This a wide-ranging discussion and so we recommend diving into the recording below.

Q&A

Massoud: What are the best practices to help me decide which does hosts and which does provider?

  • These NATS providers will set the direction we take. We know that WASI is for capability providers - exposing an interface that allows a host to sandbox safely.
  • at the wasmCloud level this gives that capability at runtime through links, in a distributed way.
  • Host versus provider - Before adding new features, write a plugin (a.k.a. provider). When it becomes core functionality you can build in additional services/features.

Weekly highlights

Issue of the week: [FEATURE] Ensure Kafka provider can run multiple copies without duplicate handling

  • The current implementation of the messaging-kafka provider is fairly experimental and created as an example. We are getting ready to get the Kafka provider closer to being ready for a real workload by ensuring that, while running multiple Kafka providers, it can consume/produce from/to a Kafka stream without duplicate handling of messages.
  • This is a great issue to take on if you're familiar with Kafka and want to take a stab at writing a wasmCloud provider 😄 Thank you for your contributions.

Docs page of the week: wasmCloud providers

  • Much discussion about capability providers and the difference between an external/native capability providers and built-in ones.
  • There is some nuance and so we have put a detailed doc in the Platform Overview section in wasmCloud docs.
  • Take a look and thanks to Eric for the work done here.

Community Updates

Tune in…

  • Cloud Native Live: all things Wasm and Kubernetes. Dan Norris and Taylor Thomas's stream: "Advanced Kubernetes Integrations with wasmCloud" looked at some advanced extension points work, using the wasmCloud operator as the backdrop. Watch to find out how we integrated Wasm into Kubernetes using Rust and extension points like Endpoint Slices, API aggregation and more!
  • On Cloud Native Live, Taylor joined Synadia's Jeremy Saenz to discuss the benefits of building a distributed Wasm-native reconciliation loop with NATS JetStream. Watch to learn about key-value buckets, streams and work queues, how they work and why they matter. 12 midday ET.
  • Bailey recently joined Dan Lorenc at Chainguard to discuss all things Wasm, Kubernetes, distroless compute models and more. Tune in for this step-by-step exploration of Wasm.
  • The CNCF and Bytecode Alliance came together on CNCF Cloud Native Live for an interesting discussion on WASI 0.2 the Component Model..and the role of the BA in driving forward Wasm standards and tooling.
  • Cloud Native Wasm Day recordings are available! Particular highlights are presentations from our community users MachineMetrics and Orange.
  • Check out the Arm Developer Podcast where Bailey and Liam discussed the intersection of Wasm and GPU technologies.
  • Listen in to the last WasmEdge community meeting where Bailey Hayes talks all things WASI 0.2 and we hear from the students of the University of Tokyo on some cool new projects.
  • Bailey was a guest on a recent Rancher Live podcast with Divya Mohan. Tune in for a deep dive into WASI 0.2!

Recording