suborbital / Atmo
Programming Languages
Projects that are alternatives of or similar to Atmo
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 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 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 wherein 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 not a library, but rather 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.