Pollen offers a unique distributed WASM runtime that allows workloads to place themselves over a zero-trust mesh. This single static binary enables simple deployment across multiple machines without the need for a traditional scheduler. Experience a leaderless approach to workload management and ensure end-to-end mTLS for secure communication.
Pollen
Pollen is a distributed WebAssembly (WASM) runtime designed for efficient workload management over a zero-trust mesh network. This single static binary application allows workloads to autonomously position themselves, enabling seamless scaling and resource distribution without the need for central scheduling.
Key Features
- Distributed WASM Execution: Effortlessly deploy and manage workloads by compiling them to WASM using languages such as Go, Rust, JavaScript, Python, C#, and Zig via Extism.
- Zero-Trust Networking: Establish secure connections with end-to-end mTLS from the outset. Simply run
pln serve 8080 apion one machine andpln connect apion another to communicate effortlessly. - Peer-to-Peer Artifact Distribution: Distribute workloads and artifacts across nodes using peer-to-peer communication. Commands such as
pln seed ./hello.wasmallow for flexible deployment. - Self-Organizing Architecture: Eliminate the need for schedulers, coordinators, or leaders. Workload placement, routing, and service topology emerge based on local state and demand.
- Support for Mesh Services: Utilize TCP and UDP protocols while ensuring connections relay over the shortest paths, enhancing resource efficiency.
- Full CRDT Support: Maintain consistent document state across all nodes, with changes gossiping and resolving conflicts as necessary.
- QUIC Transport Protocol: Benefit from reduced latency and efficient connections through a single multiplexed, encrypted, UDP-based link for gossip and workloads.
- Ergonomic Operations: Pollen offers intuitive operational defaults, allowing users to configure only as necessary.
Usage Examples
Initializing a Cluster:
pln init # Create a new cluster rooted here
pln bootstrap ssh user@host [--admin] # Requires passwordless SSH + sudo
Deploying a Service:
# On Machine A:
pln serve 8080 api
# On Machine B:
pln connect api
curl localhost:8080 # Access the service from Machine A
Running a WASM Seed:
pln seed ./hello.wasm
pln call hello greet '{"name":"world"}'
Additional Benefits
- Edge-Ready Deployment: Pure Go implementation enables compatibility from Raspberry Pi to cloud environments.
- Cryptographic Admission Control: Invites and tokens ensure secure joining of nodes without shared secrets or firewall rules.
- Static Site Hosting and Blob Sharing: Quickly serve static files or share large data blobs across the network.
Pollen seeks to provide a robust framework for developers looking to utilize WASM in a distributed environment, combining cutting-edge technology with user-oriented simplicity.
No comments yet.
Sign in to be the first to comment.