wasmCloud

wasmCloud is a distributed platform for writing portable business logic that can run anywhere from the edge to the cloud. Secure by default, wasmCloud aims to strip wasteful boilerplate from the developer experience and return joy to the act of building distributed applications.

illustration

Documentation

Overview

New to wasmCloud? Start here.

App development

Guides and tutorials tailored for developers building applications that run on wasmcloud hosts.

Platform building

Guides and tutorials tailored for those building platforms and infrastructure on top of wasmCloud

Interfaces

Guides, reference docs, and tips for defining interfaces and generating libraries.

Reference

Full, in-depth reference material on all aspects of wasmCloud.

Frequently Asked Questions

What is wasmCloud?

wasmCloud helps developers build, test, scale, deploy and operate services and functions at scale quickly.

wasmCloud is an application runtime that has been designed to speed up the developer workflow. An actor model seamlessly separates business logic from specific underlying capabilities. Common capabilities are included in the runtime and developers may easily create their own. WasmCloud allows developers to write their business logic in the language of their choice and deploy it everywhere.

Why WebAssembly?

WebAssembly (Wasm) is a highly portable binary instruction format for a stack-based virtual machine. Wasm is designed as a portable and performant compilation target for programming languages enabling secure, deny-by-default deployment on the web, in the browser, on your server, the edge, or wherever you would like to run your workload.

wasmCloud leverages Wasm as a secure and portable foundation - write your functions quickly and run them everywhere. Wasm is not only fast - it’s efficient.

What is an Actor?

An actor is the smallest unit of deployable, portable compute within the wasmCloud ecosystem. Actors are small WebAssembly modules that can handle messages delivered to them by the host runtime and can invoke functions on capability providers, provided they have been granted the appropriate privileges.

For more information please see Actors Reference Guide.

What is a Capability Provider?

A capability is an abstraction or representation of a non-functional requirement; some functionality required by your actor that is not considered part of the core business logic. For example, as you write an actor that exposes some data over a RESTful endpoint, the HTTP server is not part of your business logic, it is a capability used by your actor.

In wasmCloud, capability providers are executables that implement a capability contract. A capability contract has a unique name (e.g. wasmcloud:httpserver) and contains a list of operations and their associated data types. By convention, these capability contract IDs are prefixed by a vendor ID (the vendor of the contract, not the specific implementation).

For more information please see Capabilities Reference Guide.

Still have questions?

Whether you just want to chat, have specific questions, or are ready to contribute to wasmcloud, our open community is always looking to grow!

Join the Community