---
title: "Durable Execution Anywhere - Introducing DBOS Conductor | DBOS"
description: "Announcing DBOS Conductor, a service for operating self-hosted DBOS Transact applications in production, on your own infrastructure or in any cloud."
url: "https://www.dbos.dev/blog/introducing-dbos-conductor"
---

# Durable Execution Anywhere - Introducing DBOS Conductor

Qian Li

Peter Kraft

March 27, 2025

DBOS Architecture

DBOS provides a lightweight library for building reliable applications. You annotate **workflows** and **steps** in your program to make it resilient to any failure–DBOS checkpoints the state of your workflows in any PostgreSQL-compatible database to seamlessly recover them from any interruption. 

![Durable Execution Diagram](https://www.dbos.dev/assets/cms/67a65f96b71f27d8aed66c33_AD_4nXea2atHsXnlNkaarQ8eQEd1Sl4ErFwOnCD2Np1o4LuI0S6I15VTSuby7eurPIJDJbIssdVkW6gQ0v_AtNRnenvjVuET8DpOCIGrVZN-B-F16OFU2V9s6_MBsc0J0JSR031QQ5A0Ew.png)

Since we first released DBOS, the most common request we’ve heard from users has been better support for self-hosting DBOS Transact applications at scale.

To make it easier to run DBOS in production anywhere, today we’re announcing DBOS Conductor. Conductor is a management interface that helps you operate self-hosted DBOS applications in production, on your own infrastructure or in any cloud. It provides:

### **Durable workflow orchestration in a distributed environment** 

If you run a DBOS Transact app in a distributed environment (e.g., running multiple instances of your app via containers) with many processes executing durable workflows, it can be difficult to detect when a workflow’s execution is interrupted and coordinate recovering the workflow. Conductor automates workflow recovery, detecting when the execution of a durable workflow is interrupted (for example, if its process is restarted, interrupted, or crashes) and recovering the workflow exactly once to another healthy process.

### **Workflow and queue observability** 

To help with troubleshooting and auditing, Conductor provides dashboards of all active and past workflows and all queued tasks within each workflow, including their status, inputs, outputs, and steps. This way, you can see exactly what your application is doing at any point in time and trace the root cause of any error.

### **Workflow and queue management**

While DBOS automates much of your application and workflow error handling, sometimes manual intervention is needed. Therefore, from the Conductor dashboard, you can cancel, resume, or restart any workflow execution and manage the tasks in your distributed queues. For example, if you accidentally start an expensive and unnecessary job, you can instantly cancel it. If some tasks fail because of an issue in another service, you can restart them after the service is repaired.

In other words, Conductor lets you monitor and manage your workflows in real time from an online dashboard, while also automatically managing durable workflow continuity at scale.

![Workflow history console in DBOS Conductor](https://www.dbos.dev/assets/cms/67e5bd974c01fdf6222cf866_AD_4nXeN83VI-f_i2cS4DA8K8ZJv_ZP2oSphbYAn00PMz8aeghRkElSXZG-1-KiKcXvB-QrgXloRn0XagmUUOe2JTwoZI1BxR1lfST5s28GWjnxB9xjy3x1ZTAJvDRasxekHwCMm_zy2jg.png)

Monitor the status of every durably executed workflow in your application with DBOS Conductor

‍

### Conductor Never Sees Your Data

Conductor runs **totally out-of-band and has no access to your application’s database or private data**. It instead uses a WebSocket-based protocol to exchange workflow metadata and commands with your application processes. Thus, Conductor is safe to use even for applications which deal with sensitive data and can work with applications running anywhere, on any cloud. DBOS is also HIPAA certified, and SOC 2 and GDPR are coming soon as well.

## Getting Started With Conductor

Conductor is entering developer preview today. If you want to try it out, please reach out to us and we’ll set you up!

To connect your application to Conductor, first register your application on the [DBOS console](https://console.dbos.dev). **The name you register must match the name you give your application in its configuration.**

![DBOS Console Self-Host tab with the 'Register an Application with DBOS Conductor' form, an application name field and a Register Application button](https://www.dbos.dev/assets/cms/67e5bd974040ebc0548de676_AD_4nXco8HiNTEikFDtvDkQMLe9CaWA0Au4_CUpGCWgzykeXqpEnKHp8pKQJC0s7LER5lvWxNa3O6I1xQp7pCmuEftdo7kTDSzs6k0Hjz4oKyJ2LTdAaV-7JonMcZ4DMMDG4rI9w48qiPw.png)

Next, generate an API key. 

![DBOS Console setup guide at step 1 of 3, Generate an API Key, with an API key name field and a Generate API Key button](https://www.dbos.dev/assets/cms/67e5bd9711f0013094c2cb74_AD_4nXcj7nPqgFzS9KxxvPIYOnxW0zbXYDw1Yj0HCrBRM_Ruccgb09_WSTLvzCFK_Wk9Ycfc5z3Zlaz9imj4lChXrbHz1qF5bXGlhy-SC_nh6kQZQYu58YCkifa2iCw3B1clIEQQVm2haA.png)

Finally, supply that API key to your DBOS application to connect it to Conductor. This initiates a websocket connection with Conductor. As soon as you start your connected app, you should see it appear on your DBOS Console applications page!

Python: 

```python
conductor_key=os.environ.get("DBOS_CONDUCTOR_KEY", None)
DBOS(conductor_key=conductor_key)
```

TypeScript:

```typescript
const conductorKey = process.env.DBOS_CONDUCTOR_KEY
await DBOS.launch({conductorKey})
```

‍

## Let us know what you think

-   You can get started building durable workflows with the open source DBOS Transact Library - [visit the Quickstart](https://docs.dbos.dev/quickstart)
-   Conductor is currently in developer preview–[contact the team for access](https://www.dbos.dev/contact)!
-   And, as always, [we’re on Discord](https://discord.com/invite/jsmC6pXGgX) to answer questions and discuss your feedback.

‍
