Actors, not orchestrators
Every workflow is an independent Orleans grain. No shared coordinator, no lock contention — add silos, get linear throughput.
A BPMN workflow engine built on .NET Orleans. Design workflows visually, deploy them as BPMN XML, and run every instance as an event-sourced actor — scale out by adding silos, not by tuning a central orchestrator.
made for .NET Orleans
Your backend talks REST to one Orleans cluster. Core, worker and custom-worker silos share it; state, clustering, reminders and streams plug into whichever storage and queues you already run — Fleans ships SQLite, PostgreSQL, Redis, Kafka and Azure Queue, and any other Orleans provider fits the same seams.
How a workflow instance runs, survives failure, and stays fast.
Every workflow is an independent Orleans grain. No shared coordinator, no lock contention — add silos, get linear throughput.
Append-only event log with deterministic replay. Silo dies mid-workflow? Orleans reactivates the grain on another silo — no orphaned state.
Active workflows run from RAM — mid-workflow steps skip the database. Events batch into one transaction at the end of each grain call.
Compensation, error boundaries, and escalation events are first-class. Failure modes get explicit semantics, not ad-hoc try/catch.
Reads, storage and transport are split so each can scale or be swapped on its own.
Built-in CQRS split routes read traffic through a NoTracking query context and an optional PostgreSQL replica.
Admin UI and state queries read a pre-built EF projection. No event replay to render a list or poll for completion.
SQLite for laptops, PostgreSQL for production — selected at startup via a single config key, no code change. The provider model is open if you need to add another.
Domain events flow through Orleans Streams. Flip Fleans:Streaming:Provider=kafka to use the bundled Kafka adapter for cross-silo durability — or ship your own provider against the same extension point.
Fleans ships as a container image you can run anywhere — laptop, VM, or Kubernetes. Your data never leaves your network, and there is no SaaS dependency to ramp.
Wrap REST calls, queues, or any custom integration as a BPMN task by shipping a worker silo from a GitHub template. Engine and plugin hosts scale independently, so one workflow can fan out across your own fleet.