e2core icon indicating copy to clipboard operation
e2core copied to clipboard

Server for sandboxed third-party plugins, powered by WebAssembly

SOS_Atmo-Long-FullColour

Building web services should be simple. Atmo makes it easy to create a powerful server application without needing to worry about scalability, infrastructure, or complex networking.

Atmo enables you to write small self-contained functions called Runnables using a variety of languages, and define your business logic by declaratively composing them. Atmo then automatically scales out a flat network of instances to handle traffic. Atmo is currently focused on building web services, particularly APIs, and can be used with a variety of architectures including HTTP- and stream-based environments.

Get started

✨ To start building with Atmo, visit the Atmo guide

Atmo uses a declarative file called the Directive where you describe your application's behaviour. Because the Directive can describe everything you need to make your application work (including routes, logic, and more), there is no need to write boilerplate ever again.

With Atmo, you only need to do three things:

  1. Write self-contained, composable functions
  2. Declare how you want Atmo to handle requests by creating a "Directive"
  3. Build and deploy your Runnable bundle

Atmo is a server-side runtime and application framework. It uses a bundle containing your Runnables and Directive to automatically run your application.

Background

Atmo is designed to embody the SUFA design pattern (Simple, Unified, Function-based Applications). This means you can build your project into a single deployable unit, and Atmo will take care of the server, scaling out its job scheduler, and meshing together auto-scaled instances.

Contributing

Please read the contributing guide to learn about how you can contribute to Atmo! We welcome all types of contribution.

External contributions

Project Name Description Author
Atmo Workspace A "freestanding workshop" to discover Atmo easily @k33g
Atmo Redis Workspace This project is a running demo of 2 Atmo Runnables using a Redis database @k33g
Atmo JSON demo Workspace This project is a running demo of 2 Atmo Runnables serving JSON payloads @k33g
Atmo PostgreSQL This project is a sandbox with all that you need to start playing with Atmo and PostgreSQL right now without installing anything. And this is its companion blog post: "Building a CRUD API with Atmo, Rust and PostgreSQL" @k33g
<!-- uncomment to add row name Description

Status

Atmo is currently in beta

Visit the Suborbital website to sign up for email updates related to new versions of Atmo.

Atmo is built atop Vektor, Grav, and Reactr.

Copyright Suborbital contributors 2021.