Awesome Open Source
Awesome Open Source

logo_transparent cropped

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

Atmo lets you write small self-contained functions called Runnables using a variety of languages, and define the business logic of your API by declaratively composing them. Atmo then scales out a flat network of instances to handle traffic using its meshed message bus and embedded job scheduler. Atmo can handle request-based traffic, and soon will be able to handle events sourced from various systems like Kafka or EventBridge.

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 not just a framework, but also a self-hosted platform that 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.

Status

Atmo is currently in beta, and is the flagship project in the Suborbital Development Platform.

Atmo is built atop Vektor, Grav, and Reactr.

Copyright Suborbital contributors 2021.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
go (15,379
swift (7,814
rust (4,856
api (1,760
webassembly (367
event-driven (90
beta (29