Open Source Durable Execution | Temporal Technologies
Durable Execution is a development abstraction that preserves complete application state so that upon host or software failure it can seamlessly migrate execution to another machine.
Temporal is an open-source implementation of Durable Execution created by the originators of the abstraction. See examples page
Restate a system for workflows-as-code (durable execution). With SDKs in JS | Java | Kotlin and a lightweight runtime built in Rust/Tokio. Is licensed BSL. See HN Threat
- Restate’s runtime is a single binary, self-contained, no dependencies aside from a durable disk. It contains basically a lightweight integrated version of a durable log, workflow state machine, state storage, etc. That makes it very compact and easy to run both on a laptop and a server.
- Restate implements durable execution not only for workflows, but the core building block is durable RPC handlers (or event handler). It adds a few concepts on top of durable execution, like virtual objects (turn RPC handlers into virtual actors), durable communication, and durable promises. Here are more details: Programming model.
dbos-inc/dbos-transact-py: Ultra-Lightweight Durable Execution in Python
Durable execution means your program is resilient to any failure. If it is ever interrupted or crashes, all your workflows will automatically resume from the last completed step.
Under the hood, DBOS Transact works by storing your program’s execution state (which workflows are currently executing and which steps they’ve completed) in a Postgres database. So all you need to use it is a Postgres database to connect to—there’s no need for a “workflow server.”