e2core
e2core copied to clipboard
Server for sandboxed third-party plugins, powered by WebAssembly
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:
- Write self-contained, composable functions
- Declare how you want Atmo to handle requests by creating a "Directive"
- 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.