Skip to main content

Distributed Async Await

Suspend Anytime, Resume Anywhere

This is an open, vendor-neutral specification of Distributed Async Await, a durable execution framework based on async await.

  • Based on Functions and Promises
  • Simple to understand
  • Simple to develop
  • Simple to operate

Context

The purpose of this document is to formalize Distributed Async Await, an open, vendor-neutral specification of a durable execution framework.

Do's

  • Standard programming model based on functions and promises
  • Simple, minimal protocols
  • Open ecosystem

Don'ts

  • No proprietary programming models such as workflows and activities
  • No complex technology stacks
  • No vendor lock-in
Developer Experience and Simplicity

Developer experience is often described through two lenses: the subjective lens of developer satisfaction and the objective lens of developer productivity. This specification ties developer experience to simplicity. We posit that a delightful developer experience emerges from systems that are:

  • Simple to understand
  • Simple to develop
  • Simple to operate

Structure of the specification

This specification consits of three prescriptive parts:

  1. Specification of the programming model
  2. Specification of the execution model
  3. Specification of the system model