The wasmCloud runtime is a vessel for running applications in the cloud, at the edge, in the browser, on small devices, and anywhere else you can imagine.
We want to bring joy to distributed systems development without sacrificing enterprise-grade features.
wasmCloud lets you focus on shipping features. Build secure, portable, re-usable components. Get rid of the headaches from being smothered by boilerplate, dependency hell, tight coupling, and designs mandated by your infrastructure.
- Productivity
- Portability
- Performance at any scale
- Enterprise-grade security
- Cost savings
Install the wasmCloud Shell (wash
) with one command.
If you're new to the wasmCloud ecosystem, a great place to start is the getting started walkthrough.
You can also take a look at a wide range of examples.
This includes actors, providers, interfaces, and full applications, including our Petclinic microservices app we've created to demonstrate how to design, compose, and build applications in wasmCloud.
For even more examples, check out awesome projects using wasmCloud from our community members!
We have plenty of ideas and things going on in the wasmCloud project. Please check out the Roadmap doc for more information, and the wasmCloud Roadmap project to see the status of new features.
Want to get involved? For more information on how to contribute and our contributor guidelines, check out the contributing readme.
wasmCloud uses some terminology you might not be familiar with. Check out the reference section of our docs for a deeper dive.
wasmCloud uses wasmbus-rpc to communicate between the host runtime, actors, and providers.
The wasmCloud Application Deployment Manager wadm uses the Open Application Model to define and deploy application specifications.
The primary Cloud Native wasmCloud host runtime is the Elixir/OTP runtime. wasmCloud leverages Elixir/OTP for its battle-tested, massively-scalable foundation; we leverage Rust for its zero-cost abstractions, safety, security, and WebAssembly support.
Rust runtime is under heavy development at the root of this repository.
For running a wasmCloud host in a browser or embedding in a JavaScript V8 host, use the JavaScript Runtime
wasmcloud_runtime
is a wasmCloud runtime library written in Rust and available at ./crates/runtime
.
It is under heavy development, but is already used by Elixir/OTP and Rust host runtimes.
Bindings to other languages than Rust will be provided in the future.
Latest documentation is available at wasmcloud.github.io/wasmCloud/wasmcloud_runtime.
wasmcloud_actor
is a wasmCloud actor library written in Rust and available at ./crates/actor
.
It provides functionality, which facilitates building of wasmCloud actors.
The API of the crate matches closely what wit-bindgen
would generate, meaning that one can switch from using plain wit-bindgen
-generated bindings to wasmcloud_actor
(and back) with minimal or no code changes.
Latest documentation is available at wasmcloud.github.io/wasmCloud/wasmcloud_actor.
We are a Cloud Native Computing Foundation sandbox project.