Durable Execution: FSM based Orchestration Platform

What is a Durable Workflow?#

A durable workflow is a long‑running, stateful business process that automatically remembers where it left off, survives crashes or restarts, and can resume or retry instead of starting over.

Unlike a simple script that runs once and dies, a durable workflow:

  • Persists its state (current step, variables, context) in a database or durable store
  • Handles timeouts, retries, and failures without losing progress
  • Supports human‑in‑the‑loop steps, approvals, and external events (e.g., a user clicking “confirm”)

In effect, durable workflows bring human‑like resilience to automation: they pause, recover, and continue, just like a person who remembers what they’ve already done.

Finite State Machines Backed by PostgreSQL Intro

If you’re new to the concept of Finite State Machines (FSMs), check out my previous blog post: Why Finite State Machines Are Everywhere: From Software to Human Life. That post explores how FSMs are fundamental to both software systems and real-world processes.


Finite State Machine: In Various Languages#

FSMs as a concept have been implemented in many programming languages, each with its own data structures and libraries. For example:

  • TypeScript/JavaScript: xstate is a popular library for modeling FSMs and statecharts.
  • Python: Libraries like transitions provide easy-to-use FSM implementations.
  • Java: Frameworks such as Spring State Machine offer robust FSM support.
  • C#: Libraries like Stateless are widely used for FSMs.
  • Go: Libraries like looplab/fsm provide simple and effective FSM implementations for Go.

These libraries use different data structures—objects, classes, state tables, or even domain-specific languages—to represent states and transitions, but the core principles remain the same.