/lagon

Deploy Serverless Functions at the Edge. Current status: Alpha

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

Lagon logo

Deploy Serverless Functions at the Edge


Dashboard

About

Lagon is an open-source runtime and platform that allows developers to run TypeScript and JavaScript Serverless Functions close to users.

Note: Lagon is in Alpha. Get access to Lagon Cloud via the waitlist

Current status:

  • Dev: In heavy development, features are being added and APIs have breaking changes
  • Alpha: Missing features and bugs to fix, progressive access to Lagon Cloud (waitlist)
  • Beta: Stable APIs, last features are being added, Lagon Cloud available without a waitlist
  • General Availability: Cloud and self-hosted versions available for production usage

Packages

  • cli CLI to manage Functions
  • dashboard Dashboard and API
  • docs Documentation website
  • js-runtime JavaScript code for the Runtime, containing the Web APIs
  • runtime Rust JavaScript Runtime, using V8 Isolates
  • serverless HTTP entrypoint for Functions, using the Runtime and exporting metrics
  • ui Design system
  • wpt-runner Run web-platform-tests on Lagon
  • www Public website

Features

  • JavaScript Runtime written in Rust using V8 Isolates
  • Native Web APIs like Request, Response...
  • 100% open-source
  • Deploy APIs, SSR(ed) websites, Webhooks endpoints, Cron jobs...
  • CLI to manage Functions and develop locally
  • Deploy at the Edge using the Cloud version, or self-host it

Roadmap

The roadmap is accessible to anyone on GitHub. Feel free to open an issue to discuss new features that you would like to see implemented.

See the roadmap on GitHub

Contributing

See the contributing guide

How it works

Lagon uses V8 Isolates, which are sandboxed environments used to run plain JavaScript. That means each Function's memory is isolated from each others, and you can run a lot of them at the same time with very few resources. Node.js, Electron, Deno (and Deno Deploy), Cloudflare Workers are also using V8 Isolates to execute JavaScript.

Starting an Isolate is a lot faster than starting a whole Node.js process, which allows for almost free cold starts.

Sponsors ❤️

Thanks a lot to every current and past sponsor!

Sponsors list

License

GNU AGPLv3