waSCC

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

Build your functions and services in WebAssembly and run them anywhere.

Star

Get Started View Documentation

Latest release

waSCC

waSCC, WebAssembly Secure Capabilities Connector, is a WebAssembly host runtime that dynamically and securely binds WebAssembly modules to capability providers. These provider plug-ins provide abstractions around and connectivity to cloud-native services—message brokers, databases, HTTP—or they can expose special-purpose capabilities like IoT, embedded hardware, and more.

WebAssembly is taking the web by storm, but we believe that WebAssembly truly shines in the cloud. waSCC is designed around the following core tenets:

  • Productivity - Developer and Operations
  • Enterprise-grade Security
  • Cost Savings
  • Portability
  • Performance

waSCC is built upon a set of standards and conventions that attempt to fill the void for cloud-native Wasm module host environments. Using this host runtime, you can host WebAssembly modules as standalone processes on a laptop, as on-demand functions in a serverless environment, as always-available microservices in the cloud or at the edge, or treat .wasm files like firmware on Raspberry Pis and embedded devices.

Demos

waSCC Technology Demos

Check out the following demonstrations to see waSCC in action and see what people are building on top of the waSCC framework:

  • Stack Trader - a real-time, online multiplayer space simulation where players mine asteroids for sellable resources, built using a back-end game engine running waSCC services.

Recent Posts

Building a Remote Controlled Relay with waSCC and Lattice

In this post we’ll walk you through how to build a hardware-specific capability provider and how to talk to that provider …

Creating Actors in AssemblyScript

This post takes a look at the AssemblyScript language, what it is, and why it’s a powerful choice as one of the languages …

waSCC 0.6.0 Release Notes

This release is another release that brakes a lot of things from previous versions. The main features we added are named bindings, a …

waSCC 0.3.0 Release Notes

This release adds several notable new features to the waSCC host runtime, including actor-to-actor communications, per-actor …

WebAssembly Host Runtimes - More than just a J2EE Evolution

The comparison between wasm host runtimes and J2EE is inevitable. Is this just a new face on an old technology?

Projects

*

Assembly Mechs: Beyond WasmDome

An online, realtime multiplayer game written in WebAssembly

Stack Trader

An online, realtime multiplayer game written in WebAssembly

Recent & Upcoming Talks

Krustlet: Creating a waSCC Actor

Creating a waSCC actor in Rust, deploying it to Azure Container Registry, and then using Krustlet to run the actor in Kubernetes

Going Containerless with WebAssembly (KubeCon EU 2020 Amsterdam)

Kevin discusses WebAssembly and its applicability outside the browser, specifically in the cloud

WebAssembly Summit (Sunnyvale, CA)

WebAssembly is the future of distributed computing. This talk delved into the how and why of that statement.

Rust LATAM 2019

Kevin Hoffman gives a presentation at Rust LATAM on WebAssembly

Providers

Cloud Native Capability Plugins for waSCC Actors

*

HTTP Server

A fast, compact HTTP server

NATS

A fast, secure, cloud-native message broker

Redis

A key-value store supported by Redis

Redis Graph

A Cypher-based graph database provider based on RedisGraph

Redis Streams

An append-only streams provider

S3

An Amazon S3 implementation of the blob store spec

Telnet

A line protocol telnet server for waSCC actors

Contact

To contact us through normal channels, you can submit a GitHub issue if appropriate, or reach out to us on Twitter.

We are holding a recurring waSCC Community Meeting. This meeting is open to all who are interested in using, or contributing to, waSCC and waPC.

The community meeting is held every Friday at 1pm Eastern and lasts 30 minutes, facilitated by Brian Ketelsen of Microsoft.

Details on the Zoom meeting follow:


Meeting URL: https://zoom.us/j/692184137
Meeting ID: 692 184 137
One tap mobile
+16465588656,,692184137# US (New York)
+13126266799,,692184137# US (Chicago)Dial by your location
        +1 646 558 8656 US (New York)
        +1 312 626 6799 US (Chicago)
        +1 669 900 9128 US (San Jose)
        +1 253 215 8782 US
        +1 301 715 8592 US
        +1 346 248 7799 US (Houston)
Meeting ID: 692 184 137
Find your local number: https://zoom.us/u/aSxuSyd12