Write Once,

Run Everywhere

A Webassembly-powered plugin framework enabling language-agnostic software development.

Composability

Chain Functions and Middleware without Language Barriers

The Scale Plugin Framework drastically reduces the need to rewrite middleware in different languages by giving developers the ability to chain together functions written across any language. Functions can optionally call and return the response of the next function in their chain, or they can respond directly.

This powerful pattern makes it possible to combine Scale Functions with native HTTP handlers to augment existing applications and do everything from JWT Authentication to Logging and Metrics, and much more.

  • function-iconJWT Authentication (Golang)
  • arrow-icon
  • function-iconRegex Input Validation (Rust)
  • arrow-icon
  • function-iconLogging and Metrics (Typescript)
  • arrow-icon
  • function-iconNative Request Handler (Python)

Compatibility

Works across languages, frameworks, and clouds

Scale leverages WebAssembly, allowing them to work across any supported language, framework or cloud, with additional support being added every day.

Our runtime and specification are both completely open source, meaning it's also extremely easy for developers to add support for new or custom plugin environments themselves.

  • golang logo

    Golang

  • typescript logo

    Typescript

  • rust logo

    Rust

  • lambda logo

    AWS Lambda

  • nextjs logo

    Next.js

  • netlify logo

    Netlify

  • Performance

    Better than Native Code

    Designed from the ground up to be as performant as possible, Scale Functions don't require any external dependencies to run. Scale Functions are thread-safe by default and have cold-start times below 100 microseconds, which means calling a function incurs next to zero overhead.

    All this means that the performance of Scale Functions, in many apples-to-apples comparisons, is often more than 4x better than the native code calling them.

    HTTP Throughput with 50 Clients

    http-benchmarks

    Benchmarked on a 48-Core Ryzen CPU with 192GB of RAM with 16KB Payloads for 5 Minutes - Github Repository

    Want to Learn More?Stay in the Loop