💻 Distributed computing, simplified
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.
Core Tenets
- Productivity
- Portability
- Performance at any scale
- Enterprise-grade security
- Cost savings
Getting Started
Installation
Install the wasmCloud Shell (wash
) with one command.
Walkthrough
If you're new to the wasmCloud ecosystem, a great place to start is the getting started walkthrough.
Examples
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.
💥 Awesome wasmCloud
For even more examples, check out awesome projects using wasmCloud from our community members!
🗺️ Roadmap and Vision
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.
🧑💻 Contributing
Want to get involved? For more information on how to contribute and our contributor guidelines, check out the contributing readme.
📚 Other Resources
Reference Documentation
wasmCloud uses some terminology you might not be familiar with. Check out the reference section of our docs for a deeper dive.
RPC Framework
wasmCloud uses wasmbus-rpc to communicate between the host runtime, actors, and providers.
Declarative Deployments
The wasmCloud Application Deployment Manager wadm uses the Open Application Model to define and deploy application specifications.
Host Runtimes
☁️ Elixir/OTP Runtime
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.
Experimental
)
🦀 Rust Runtime (Rust runtime is under heavy development at the root of this repository.
Experimental
)
🕸 JavaScript Runtime (For running a wasmCloud host in a browser or embedding in a JavaScript V8 host, use the JavaScript Runtime
SDKs and libraries
wasmcloud_runtime
(Experimental
)
🦀 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
(Experimental
)
🦀 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.