Choosing a Backend
January 23, 2026 · View on GitHub
The Durable Task Framework (DTFx) supports multiple backend storage providers. This guide helps you choose the right one for your needs.
Recommendation: Durable Task Scheduler
For most new projects, we recommend the Durable Task Scheduler—a fully managed Azure service that eliminates infrastructure management and provides the best developer experience.
Provider Comparison
| Feature | Durable Task Scheduler | Azure Storage | MSSQL | Service Bus | Service Fabric | Emulator |
|---|---|---|---|---|---|---|
| Type | ⭐ Managed service | Self-managed | Self-managed | Self-managed | Self-managed | In-memory |
| Production ready | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ❌ No |
| Azure support SLA | ✅ Yes | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No |
| Infrastructure | None required | Storage account | SQL Server database | Service Bus namespace | Service Fabric cluster | None |
| Throughput | Very high | Moderate+ | Moderate+ | Moderate | Unknown | N/A |
| Latency | Low | Moderate | Low | Moderate+ | Unknown | Very low |
| Built-in dashboard | ✅ Yes | ❌ No | ❌ No | ❌ No | ❌ No | ❌ No |
| Managed identity | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | N/A | N/A |
| Local emulator | ✅ Docker | N/A | ✅ SQL Server | N/A | N/A | ✅ Built-in |
| Cost model | Fixed monthly or per-operation | Storage transactions | Database DTUs/vCores | Messaging units | Cluster nodes | Free |
When to Use Each Provider
Durable Task Scheduler ⭐ Recommended
Best for:
- ✅ New projects and greenfield development
- ✅ Production workloads requiring enterprise support
- ✅ Teams that want to minimize operational overhead
- ✅ High-throughput scenarios
- ✅ Applications needing built-in monitoring
Considerations:
- Requires Azure subscription
- Cost based on operations (see pricing)
👉 Get started with Durable Task Scheduler
Azure Storage
Best for:
- ✅ Existing Azure Storage deployments
- ✅ Cost-sensitive workloads with moderate throughput
- ✅ Scenarios requiring data residency control
- ✅ Teams already managing Azure Storage infrastructure
Considerations:
- Throughput limited by Azure Storage transaction limits
- Requires management of storage account, queues, tables, and blobs
- No built-in monitoring dashboard
👉 Get started with Azure Storage
MSSQL (Microsoft SQL Server)
Best for:
- ✅ Non-Azure or hybrid deployments
- ✅ Teams with existing SQL Server expertise
- ✅ Scenarios requiring direct database queries against orchestration state
- ✅ Environments with strict BCDR requirements
Considerations:
- Requires management of SQL Server database
- State is stored in indexed tables with stored procedures for direct querying
- Available for Azure SQL Database, SQL Server, or any compatible MSSQL database
Service Bus
Best for:
- ✅ Existing Service Bus deployments
- ✅ Low(er)-latency message delivery requirements
Considerations:
- Requires management of Service Bus namespace
- Tracking store requires separate Azure Storage account
👉 Get started with Service Bus
Service Fabric
Best for:
- ✅ Existing Service Fabric clusters
- ✅ Integration with Service Fabric stateful services
Considerations:
- Requires Service Fabric cluster management
- Tightly coupled to Service Fabric ecosystem
👉 Get started with Service Fabric
Emulator
Best for:
- ✅ Local development and testing
- ✅ Unit tests and integration tests
- ✅ Learning and experimentation
Considerations:
- In-memory only—data is lost on restart
- Not suitable for production use
- Single-process only
Netherite ⚠️ Deprecated
Warning: Netherite is being deprecated and is not recommended for new projects.
Netherite is an ultra-high performance backend developed by Microsoft Research that uses Azure Event Hubs and Azure Page Blobs with FASTER database technology.
Considerations:
- ⚠️ Being deprecated—not recommended for new projects
- More complex infrastructure requirements (Event Hubs + Azure Storage)
- Consider migrating to Durable Task Scheduler for similar performance characteristics
Migration Between Providers
Each provider stores orchestration state differently, so migrating between providers requires:
- Completing or terminating all running orchestrations
- Reconfiguring the application with the new provider
- Restarting orchestrations from scratch
There is no built-in state migration tool between providers.
Need Help Deciding?
- For enterprise support, choose Durable Task Scheduler
- For non-Azure deployments, choose MSSQL
- For lowest cost, choose Azure Storage
- For local testing, choose Emulator
See Support for more information about getting help.