3 ms·
I've played with DBOS and like it, but I have to say the lack of a control plane and UI in the open source version means it may have a hard time competing with
by atombender 1y ago
I've played with DBOS and like it, but I have to say the lack of a control plane and UI in the open source version means it may have a hard time competing with Temporal, which provides both.
Being able to see the state of workflows and their histories is a key part of having an application in production. Without a control plane, my understanding is that DBOS can't offer the same kind of failure recovery as Temporal, though it's unclear to me how the "Transact" engine does this.
A big benefit that Temporal's architecture provides is separation of concerns. Temporal can coordinate workflows across many apps, whereas with DBOS each app (as far as I understand it, at least) is a silo managing its own queues.
- hmaxdml 1y agoDBOS stores all the workflow metadata in postgres, which is readily queryable for observability. We've recently seen a user setup an entire Grafana dashboard to observe their numerous workflows. A postgres server can host many databases, and multiple applications can use the same server. The same dashboard can be used to monitor them all. With respect to recovery: A new Transact process will run a round of recovery at startup. Transact also exposes an admin server with a recovery endpoint. For more elaborate scenarios, we have control plane options commercially available.
- atombender 1y agoTemporal has a full-fledged UI where I can drill down into individual workflow runs and see the graph of activities, detail logs, retry counts, inputs and outputs, and so on. Temporal also has an API to introspect this without reaching into a database. You can share a database server with DBOS, but it's common to give applications dedicated database resources (one Postgres cluster per app in different regions), meaning it won't work with DBOS unless you write your own federated control layer that can speak to multiple instances. Which is also not offered out of the box. Sharing one DBOS-specific server across all apps would introduce a single point of failure. Again, I like DBOS, but right now the value proposition isn't that great given that Temporal has already nailed this.
- KraftyOne 1y agoDBOS also has a full-fledged workflow visualization and management UI: https://docs.dbos.dev/golang/tutorials/workflow-management https://docs.dbos.dev/golang/tutorials/workflow-management
- atombender 1y agoNot in the open source version? It requires the commercial Conductor thing.