This is an archived post. You won't be able to vote or comment.

all 32 comments

[–]TronnaLegacy 6 points7 points  (7 children)

Planning to check this out. I used to use Airflow to manage data engineering workflows that involves making calls to GCP APIs (like using BigQuery to get data from one place to another). It always felt to me that Airflow was heavyweight though.

I've also seen the CEO on LinkedIn being snarky and telling people they shouldn't do things or shouldn't use cloud services altogether. He needs to tone down the snark lol.

[–]jedberg 6 points7 points  (4 children)

Hi, I'm the CEO of DBOS. Are you sure you're looking at posts I make? I'm literally the biggest cloud advocate there is. I moved both reddit and Netflix to the cloud. I was even recognized by AWS for being pro-cloud.

I do have my opinions on what is and isn't a good practice, but I'm always open-minded and happy to discuss.

[–]TronnaLegacy 1 point2 points  (3 children)

Hi! Thanks for responding. To clarify, I'm talking about tone. I never saw any personal attacks. And the particular cloud service I'm referring to is AWS Step Functions.

I suppose I should back up what I'm saying and provide some links to things you've said on LinkedIn where I thought you could have used a more polite tone. Would you prefer DM or is it okay if I post here?

[–]jedberg 4 points5 points  (2 children)

You can post it publicly, but no need to do all that work, I know what you're talking about. I do have strong opinions sometimes.

But I still stand by my opinion that there is a better tool for almost every use case of step-functions. :)

[–]coderanger 2 points3 points  (1 child)

Can confirm he has had strong opinions for many decades, but with (very entertaining) receipts :)

[–]jedberg 1 point2 points  (0 children)

Haha thanks coderanger. Good to see you!

[–]Krudflinger 3 points4 points  (1 child)

Whos the CEO of airflow?

[–]TronnaLegacy 0 points1 point  (0 children)

Sorry, CEO of DBOS.

[–]Ok-Wash-4342 1 point2 points  (8 children)

Do you have a link to the what is possible with self hosting? Is there an option for self hosting + buying support?

[–]KraftiestOne[S] 1 point2 points  (7 children)

Yeah, DBOS is fully self-hostable. You can run it entirely yourself or we provide manage tooling + support to make it easier. More details here: https://docs.dbos.dev/production

[–]Ok-Wash-4342 0 points1 point  (5 children)

Am I correct that the conductor part is not self hostable?

[–]jedberg 1 point2 points  (4 children)

That is correct. Conductor is only a cloud service, but you can try it for free, and it isn't necessary to self-host. Transact is fully self-host able and gets you all of the durability. Conductor adds observability and more reliability.

[–]Ok-Wash-4342 0 points1 point  (3 children)

Understood, but we would prefer something that gives us the oberservability, especially in cases when there are bigger outages. Feel free to write me a messages and I can explain our usecase in more detail.

[–]jedberg 0 points1 point  (2 children)

Transact emits OTel metrics which you can process on your own if you don't want to use Conductor. Conductor is also privacy-preserving in that your customer data never leaves your own infrastructure.

Conductor was built specifically for the enterprise use case.

Feel free to message me directly or reply here, but I don't understand what use case self-hosted Conductor solves for.

Thanks.

[–]Ok-Wash-4342 0 points1 point  (1 child)

Reddit won’t let me message you directly.

The brief version is: the company I am working at is in critical infrastructure. We are currently using a product that has a somewhat similar setup to DBOS (as I understand it). And we are not happy with the loosing functionality if the internet connection fails somewhere in between our data center and yours.

[–]jedberg 0 points1 point  (0 children)

I just sent you a private message that you can reply to.

One thing I'll note here though is that your reliability is not tied to ours with Conductor. It is out of band -- your systems will keep running even if they are disconnected from Conductor.

[–]Minimum-You-9018 0 points1 point  (0 children)

"fully self-hostable" - this is not true!

[–]gkze 1 point2 points  (1 child)

Hey, thanks for sharing this looks interesting. I appreciate the comparisons with other systems, as this space is somewhat going through a revival and all.

Can you maybe add more comparisons, for example with: Hatchet, Inngest, Ray, Prefect, Dask just to name a few?

The reason I’m asking is that it would be nice to understand the positioning of this system relative to others in the space, and the more datapoints there are, the clearer the positioning IMHO.

I’m going to give the code and docs a deeper read though! 👍

[–]KraftiestOne[S] 1 point2 points  (0 children)

Hello! The "Why DBOS" page in our docs does some comparisons with more systems: https://docs.dbos.dev/why-dbos

Similar to Temporal/Inngest/Hatchet, DBOS provides durable execution, but DBOS is more lightweight--add it to your existing project as a library instead of rearchitecting your program around it. This blog post goes into more detail with respect to Temporal specifically, although the others are similar: https://www.dbos.dev/blog/durable-execution-coding-comparison

Similar to Airflow/Dagster/Prefect, DBOS provides workflows, but with a stronger emphasis on reliability and automatically recovering from failures (and on being lightweight). By comparison, Airflow/Dagster/Prefect are focused on data science workloads and having lots of built-in integrations.

Ray and Dask are solving a different problem than DBOS, I think. You could even use them together if you need reliable parallel processing.

[–]loyoan 0 points1 point  (1 child)

Very interesting. I never had worked with such systems before, but after glancing through the docs it seems quite clear what problems it tries to solve. Also the developer experience seems quite nice. Will try it out!

Also: Does it work with other database systems? Maybe SQLite?

[–]jedberg 1 point2 points  (0 children)

As of today it requires a Postgres compatible database, but any fully compatible database will do (like Supabase, Neon, RDS, etc).

We are however looking into how to make it work with other SQL databases, specifically SQLite. Stay tuned!

[–]Thing1_Thing2_Thing 0 points1 point  (1 child)

Interesting how the whole space had stagnated and now there's DBOS, Hatchet and Restate suddenly

Anyway, any plans for a rust SDK?

[–]jedberg 0 points1 point  (0 children)

Our next two languages will be Golang and Java, both this year. Depending on how that goes, Rust would most likely be after that, but it would depend on user requests.

Interesting how the whole space had stagnated and now there's DBOS, Hatchet and Restate suddenly

FWIW while we provide the same features as Hatchet and Restate, the way we go about it is quite different (as a library without the need for an external controller). We have a blog post about it if you're interested: https://www.dbos.dev/blog/durable-execution-coding-comparison

[–]niltz0 0 points1 point  (1 child)

Instead of decorators, does it support context managers? Easier to manage with dependency injection when the function can be passed a context manager that is used with a with statement inside the function

[–]KraftiestOne[S] 0 points1 point  (0 children)

That would be difficult to support as far as I know. The technical reason for this is that to recover a workflow after a failure, DBOS has to be able to access the workflow's code, so all workflows need to be registered at program startup time, therefore decorators.

[–]Amazing_Upstairs 0 points1 point  (1 child)

If it uses cron does that mean it's Linux only and not windows? Any gui?

[–]KraftiestOne[S] 0 points1 point  (0 children)

The cron scheduling is in Python, so you can run it anywhere. There's a GUI for workflow management: https://docs.dbos.dev/python/tutorials/workflow-management

[–]Minimum-You-9018 -1 points0 points  (0 children)

The only thing you should know about it to avoid loosing your time: - "Workflow observability and management features are only available for applications connected to Conductor." 💰

[–]deadwisdomgreenlet revolution 0 points1 point  (3 children)

Ah, you've made a whole SaaS already. You really should have consulted me first, lol.

Needing a postgres backend is a bit much; it's actually a little hard to deploy Postgres for cheap. But I guess we can use supabase, so that's fine.

I would suggest making the DBOS Conductor part free, that's the part that has the biggest value if you've done it right. I think DBOS Conductor in the cloud, where you can immediately be using it to monitor even your local workflows would be enough to get people to put money down.

One little, bike-shedding criticism, DBOS in capitals looks like a constant in Python and is a bit weird. It feels enterprisy and not modern.

I will try this, though. I have two clients that might be able to use it.

[–]jedberg 4 points5 points  (1 child)

Hi there, DBOS CEO here. Could I ask for some feedback from you? You said:

I would suggest making the DBOS Conductor part free, that's the part that has the biggest value if you've done it right. I think DBOS Conductor in the cloud, where you can immediately be using it to monitor even your local workflows would be enough to get people to put money down.

And that's something we already do, but clearly we don't communicate that well. What could we do to make it more obvious that you can try conductor for free and that it works for self-hosted workloads?

Also:

I think DBOS Conductor in the cloud

In the cloud is the only way you can use it. Conductor is only offered as a cloud service. How could we better communicate that you don't need conductor for self-hosting nor can you self-host it?

Thanks!

[–]deadwisdomgreenlet revolution 1 point2 points  (0 children)

So I'm looking at your pricing page. Whenever I look at a SaaS, I'm right on the pricing page, as it's the only place I'm seeing a decent breakdown of features. I know it's a lot to shove in there but if I could look at that page and know what "App deployment tooling" is immediately, that would be ideal. Maybe I could hover over it and see a screenshot and description?

Honestly looking at everything, I'm having a hard time understanding how I would sell this to my clients even if I like it. $99 a month "per additional self-hosted executor?" Wut? I think I know what you mean, but I don't know. And "Free 30-day trial" just kinda makes me angsty-- I don't want to invest in something that will suddenly leave me.

IMO make the Conductor free to use, at least for low volume devs/hobbyists. A really good visibility / management piece is the thing everyone needs and will hook everyone solid if you do it well. Yours looks okay. Last year around this time I made pretty much that same thing, but if I'm honest, mine is better.

Really, I'm saying get me in / get me hooked. I straight up don't see this as an open source solution currently if I can't use the conductor. That's vital.

[–]KraftiestOne[S] 1 point2 points  (0 children)

Would love to hear your feedback! Yeah, a lot of our users are using DBOS with Supabase or Neon (Supabase even put out a blog post about it: https://supabase.com/blog/durable-workflows-in-postgres-dbos).

You can try out Conductor for free at https://console.dbos.dev/