Profile avatar
petereliaskraft.net
Co-founder @ http://dbos.dev • Stanford PhD • Database Geek • Building https://github.com/dbos-inc/dbos-transact-py
22 posts 302 followers 110 following
Prolific Poster
Conversation Starter

I think the single best decision we made when building DBOS was choosing to build everything on Postgres. Why?

Versioning is one of the biggest challenges in software development, especially when an app has long-running workflows that must continue running while the code is upgraded. Interestingly, co-designing durable execution with the runtime can make versioning significantly easier.

Just put together this new demo–an app that visualizes the execution of a durable workflow, showing you what code executes in its backend and how it seamlessly recovers from failures. Would love feedback on it! What works and what isn’t clear?

It’s hard to build a @nextjs.org js app that reliably handles tasks running longer than HTTP request timeouts. Traditional approaches? It's flaky at best. DBOS’s open-source TypeScript library lets you execute durable, long-running tasks directly in your Next.js app. **🧵**

You can't fix what you can't measure. I like this paper's detailed measurement of RPCs in production. A recurring theme in this paper is variation. At hyperscale, RPCs exhibit significant diversity in processing time, CPU/memory usage, and request sizes. dl.acm.org/doi/pdf/10.1... Thoughts in 🧵

Over the past two days, the DBOS team gathered to plan our roadmap for the coming months. We combined creativity with practicality, exploring innovative new features while remaining fully committed to enhancing the user experience, aiming to make building reliable apps effortless.

Store Everything In Postgres An idea on how to radically improve reliability and reduce complexity for stateful apps. www.dbos.dev/blog/what-is...

A good read on how DynamoDB has evolved over the past decade. DynamoDB was originally launched in 2012, and this retrospective paper was published in 2022. www.usenix.org/conference/a... Some takeaways after reading it 🧵

What are your favorite observability frameworks and visualization tools? We're expanding observability support in @dbos.dev to improve custom trace exporting and visualization. We're looking to potentially integrate with some popular tools.

I think the most underrated benefit of durable execution is observability. Durable workflows and steps map 1-to-1 to traces and spans used in OTel and most modern observability frameworks. This makes monitoring easier: how often workflows run, where they spend time, and when they error.

One small ask for the community as we try to make DBOS easier to adopt: We just refreshed the “Learn DBOS” guides in our documentation. I’d be really grateful if anyone could look at the new guides, try them out, and give feedback on what works and what needs to be explained better. Thanks a lot!

Had our first @southbaysystems.xyz coffee chat today in downtown Sunnyvale (forgot to take pics)! It was amazing to meet everyone and chat about anything databases and distributed systems. We’re planning our talk series! If you have a venue or want to present your cool projects, please reach out☀️

Read the "BIG DEAL" CIDR'24 paper by Pat Helland. A Snapshot Isolation semantic contract between the database and applications is the BIG DEAL for making OLTP scalable. I really like the core idea of co-optimizing the database and applications. 🔗 www.cidrdb.org/cidr2024/pap...

Had a wonderful time presenting DBOS to the Bay Area Python Interest Group last night! There was a great discussion about how to integrate durable execution into existing apps--what got people excited about DBOS is that it's just a Python library, so you can "pip install" it into any existing app.

Hello! We are organizing our first South Bay Systems Coffee Chat next week. Register here: lu.ma/2f8y3fsj (w/ @alexmillerdb.bsky.social @yingjunwu.bsky.social) We're planning some talks in the upcoming weeks. Please follow the official account @southbaysystems.xyz 🦋 Stay tuned 👀

The SQLite VLDB'22 paper provides a detailed overview of SQLite architecture. I appreciate the authors' effort in analyzing the performance comparison with DuckDB. They honestly reported OLAP use cases where DuckDB is significantly faster and measured one level deeper. www.vldb.org/pvldb/vol15/...

The DBOS project, which builds a durable workflow execution engine on top of standard Postgres, seems like a really helpful project for folks that don't want to go all-in on using an external service like Temporal, Cadence, etc. supabase.com/blog/durable...

Excited to announce the release of DBOS TypeScript v2.0! With this release, you can easily add durable execution to any TypeScript app, such as apps built with Next.js or Express. 🔗 github.com/dbos-inc/dbo... DBOS enables reliable workflows, cron jobs, and queues -- all built on top of Postgres.

Demo from a user 💙 Jacopo Tagliabue has built a reliable data lake ingestion app using Bauplan and @dbos.dev, all in <100 lines of Python. It uses Bauplan to implement a write-audit-publish pattern and DBOS to orchestrate the pipeline durably. I love how lightweight it is. github.com/BauplanLabs/...

Supporting sync & async functions in DBOS decorators was harder than I expected. In frameworks like FastAPI, supporting both is straightforward because it's a simple "fire and forget" dispatch. DBOS Transact is more complex because it executes database code before & after the decorated function.

Just released DBOS Python 0.16.0, with support for asyncio and coroutines. You can now use DBOS decorators with functions defined with 𝘢𝘴𝘺𝘯𝘤 𝘥𝘦𝘧. Everything works out of the box (shoutout to @devhawk.net 🚀): no new syntax required to support async functions.

Idempotency is a powerful concept: many developers need it, but it is hard to get right. It means you can run an operation multiple times and get the same outcome as running it once. Combine idempotency with retries, and you achieve effectively exactly once execution.

2024 has shifted my perspective. I realized how simplicity boosts productivity. I switched my mindset from building a cool/complex research prototype to creating products that make developers' lives easier. What I love the most is that everything in @dbos.dev is designed around developer ergonomics.

Hackernews looks nice today 🎄👀

🎄Happy Holidays! Here's one more holiday treat: our amazing engineer Chuck has written a blog post about how he decorates his house with dazzling synchronized light shows. It has a few hundred thousand LED lights! Btw, the software is powered by @dbos.dev 🔗 www.dbos.dev/blog/ezrgb-d...

thedataexchange.media/dbos/ I post a lot about serverless technologies for building app. For many cases this can simplify the time it takes to be up and running and solves many problems around scalability. I have the most experience using AWS but a very interesting alternative is @dbos.dev (1/3) 🧵

Good article, but even for a simple resilient webhook you need AWS CDK, SQS, API Gateway, EventBridge Pipes, Step Functions… How about we do everything in a single serverless app in @dbos.dev? I showed how simple to build a reliable serverless webhook with DBOS: www.dbos.dev/blog/open-so...

🎄 Happy holidays friends! For some of you who prefer video over text, I recorded my first tutorial video (thanks @petereliaskraft.net for help). In this tutorial, I'll walk you through how to use the DBOS library to build reliable applications. 🔗 www.youtube.com/watch?v=6RgR...

A holiday feature release: trace visualization! DBOS automatically generates OpenTelemetry traces for your workflows. You can now view traces in the cloud console to monitor your apps and see: - What operations they run - Where they spend time - If they error, where and why

Digging the new dbos.dev website @qianli.dev

Better late than never 😂 Happy to share a recap of my SF Systems talk from last month. I've put together a summary of the session along with some great Q&A moments: www.dbos.dev/blog/sf-syst... Thanks to the organizers and everyone who showed up—it was an amazing experience! #dataBS #serverless

Check out this new video (w/@qianli.dev) on how to build a scheduled application and deploy it to the cloud in under five minutes! www.youtube.com/watch?v=CnH8...

New DBOS Cloud release: MicroVM Customization🚀 You can now include a custom microVM build script in your app to install any system packages you need—think of it as a Dockerfile for Firecracker. We’re excited to see the innovative things you’ll build with this! 🔗Docs: docs.dbos.dev/cloud-tutori...

I’m a big believer in Postgres for its versatility and simplicity. If you don’t need a full-blown message queue like Kafka or RabbitMQ, Postgres gets the job done. Thanks to ACID transactions, tools like PGMQ and DBOS queues leverage Postgres where durability and exactly-once delivery are built-in.

A common misconception is that serverless must be stateless or tied to AWS Lambda. In my view, serverless means a fully managed service that frees developers from concerns about server config and maintenance, allowing them to focus entirely on their application's logic. Please check out @dbos.dev 🦋