Spin is an open-source framework from Fermyon for building and running event-driven microservices as WebAssembly components. Applications are compiled to the WebAssembly Component Model and run on top of Wasmtime, giving sub-millisecond cold starts and sandbox-level isolation without the overhead of a container runtime.
A Spin application is described by a spin.toml manifest that declares one or more components and the triggers they respond to: HTTP requests, Redis pub/sub messages, cron schedules, or custom plugin triggers. Each component is a .wasm module compiled from Rust, Go (via TinyGo), JavaScript/TypeScript, Python, .NET, or any other language with Wasm support. Spin exposes capability APIs through WASI and WIT interfaces for key-value storage, SQLite, outbound HTTP, LLM inference, and relational databases, so components stay portable while still reaching real services.
Spin applications are packaged as OCI artifacts and can be run locally with spin up, deployed to Fermyon Cloud, or scheduled on Kubernetes via SpinKube. The project is now a CNCF Sandbox project and is one of the primary reference runtimes for the WebAssembly Component Model in production.