cloud native webassembly

NATS, WebAssembly, and waSCC

Shameless Plug!

webassembly 101

  • Stack-based virtual machine
  • Operating System agnostic
  • Processor architecture agnostic
  • Not just for browsers!
    • Works anywhere host/guest agree on contract

wascc

  • Write your business logic as a WebAssembly module
    • Embraces the actor model
  • Secure - actors can only do what signed, embedded JWTs allow
  • Flexible - actors and capabilities can be swapped at runtime, different envs, clouds, etc.

A dynamic, elastically scalable WebAssembly host runtime for securely connecting actors and capability providers

BOILERplate removal

simplifying the developer experience

area of concern

🤔

  • HTTP Server
  • Database Client
  • Cache Client
  • Messaging Client
  • Business Logic
  • Security
  • Resiliency
  • Monitoring
  • Tracing
  • Logging
  • Scale-Up/Down/Zero
  • Immutable Artifact (Docker)

TODAY

area of concern

🤔

  • HTTP Server
  • Database Client
  • Cache Client
  • Messaging Client
  • Business Logic
  • Security
  • Resiliency
  • Monitoring
  • Tracing
  • Logging
  • Scale-Up/Down/Zero
  • Immutable Artifact (Docker)

WITH WASCC

our goal

in a nutshell

Today's Tools

Tomorrow's Tools

demo

why nats?

  • HTTP Server and NATS client were first capability providers for waSCC
  • It "just works"
    • Always the one part of my infrastructure I never worry about
  • Can use as substrate for other comms patterns
  • One of the most immediately useful CNCF projects

NATS Connect: Cloud Native WebAssembly

By Kevin Hoffman

NATS Connect: Cloud Native WebAssembly

A brief introduction to waSCC, a framework that allows developers to strip away unnecessary boilerplate and compile pure business logic into WebAssembly modules, and how NATS support is foundational.

  • 1,163