Why Does Your Microsoft Agent Need an Azure Service for Durability?
Microsoft Agent Framework delegates durable execution to the Azure Durable Task Scheduler — a fully managed Azure backend-as-a-service. It requires Azure managed identity, bills per action on the Consumption SKU, caps payloads at 1MB, and has no path to running on AWS, GCP, or on-premises. Dapr Workflows runs as a sidecar in the same Kubernetes pod as your agents — state transitions are local, there are no per-action fees, and it runs on any cloud or on-premises. Built on the open-source CNCF Dapr project trusted by thousands of enterprises.
No Azure dependency
In-cluster low latency
Built on open-source Dapr
Production Gap Analysis
Why Azure Durable Task Scheduler Is the Wrong Backend for Agents
Microsoft Agent Framework uses the Azure Durable Task Scheduler as its durability backend. The scheduler is a separate Azure resource that stores orchestration state and dispatches work items over gRPC. Your app connects to it externally, authenticates via Azure managed identity, and pays per action. For teams running multi-cloud, on-premises, or latency-sensitive agent workloads, this architecture introduces unnecessary cost, complexity, and constraints.
Azure-only with managed identity required
The Durable Task Scheduler is an Azure resource (Microsoft.DurableTask/schedulers) that requires an Azure subscription. Authentication is managed identity only — no connection strings, no key-based auth. If you run on AWS, GCP, or on-premises, you either route all durability traffic to Azure or lose it entirely. The docs explicitly state 'Azure connectivity required.'
External gRPC round-trips for every state transition
Every orchestrator replay, activity dispatch, and state persistence is a network round-trip to an external Azure service. Microsoft recommends co-locating in the same Azure region to reduce latency, but even then each state transition crosses the network. Dapr Workflows runs as a sidecar in the same pod — state transitions never leave the host.
Per-action billing adds up with agent workloads
On the Consumption SKU, you pay per action dispatched. An orchestration calling 3 activities generates 7 billable actions (1 start + 3 dispatches + 3 result processings). Agent workflows with dozens of tool calls multiply this quickly. The Dedicated SKU charges a fixed monthly cost per Capacity Unit, with a minimum of 3 CUs required for high availability. Dapr Workflows runs on your existing Kubernetes compute with no per-action or per-CU fees.
External dependency increases failure surface
The scheduler is a separate Azure resource with its own availability. A Durable Task Scheduler outage takes down your agent workflows regardless of whether your own infrastructure is healthy. Provisioning a new scheduler takes 15–20 minutes. Multiple task hubs sharing one scheduler compete for resources — a heavily loaded hub can degrade others. Dapr Workflows runs in-cluster, sharing the same availability as your applications.
1MB payload limits and limited language support
All orchestrator inputs, activity inputs, event data, and entity state are capped at 1MB per message. Large payload offloading to Azure Blob Storage is only available for .NET. The JavaScript SDK is in preview and incompatible with the Durable Functions JS SDK. The Java SDK does not support durable entities. The Go SDK is experimental and community-supported only. Dapr Workflows supports Python, JavaScript, .NET, Java, and Go with no payload restrictions at the framework level.
Azure-specific security with no portable identity
Authentication requires Azure managed identity (user-assigned or system-assigned). There is no SPIFFE-based workload identity, no vendor-neutral mTLS, and no portable access control policies. Teams running hybrid or multi-cloud cannot use the same identity model across environments. Dapr provides mTLS with SPIFFE identity that works identically on any cloud or on-premises.
Integration
Same Durability. No Azure Dependency.
Replace the Azure Durable Task Scheduler backend with Dapr Workflows. Your agent logic stays the same but durability runs in-cluster on Kubernetes — state transitions are local, not gRPC calls to an external Azure service. No per-action billing, no 1MB limits, any cloud. Powered by the same Dapr runtime trusted in production by companies like NASA, Grafana Labs, and HSBC.
var builder = WebApplication.CreateBuilder(args);// Requires Azure Durable Task Scheduler// External gRPC service, per-action billing// Azure managed identity onlybuilder.Services.AddDurableTaskClient(b =>{ b.UseGrpcChannel("my-scheduler.westus2.durabletask.io"); b.UseAzureManagedIdentity();});var app = builder.Build();var builder = WebApplication.CreateBuilder(args);// Register Dapr conversation clientbuilder.Services.AddDaprConversationClient();// Register agents to run withinbuilder.Services.AddDaprAgents() .WithAgent( agentName: "SampleAgent", conversationComponentName: "conversation-ollama", instructions: "You are a helpful assistant.", serviceLifetime: ServiceLifetime.Singleton);var app = builder.Build();Comparison
From Prototype to Production
What changes when you add Diagrid to your Microsoft Agent Framework agents.
Enterprise-Grade
Enterprise Infrastructure for Microsoft Agent Framework
Everything your team needs to run Microsoft Agent Framework agents in production. Built on Dapr, the CNCF project trusted by thousands of enterprises.
Zero-Trust Security
Every agent gets a SPIFFE-based cryptographic identity through Dapr's built-in security model. All communication is encrypted with automatic mTLS. Fine-grained policies control which agents can access which tools.
End-to-End Observability
Distributed tracing for every workflow execution with per-step input and output inspection. Built on OpenTelemetry, so traces integrate with the tools your team already uses.
Multi-Region Failover
Deploy across regions with active-passive failover. If a region goes down, Dapr Workflows automatically resume in the standby region from their last checkpoint.
Durable State Store
Dapr Workflows persist state to a remote store after every activity. Survives process crashes, OOM kills, deployments, and infrastructure failures. Use any supported database as the backend.
Multi-Instance Coordination
Dapr's actor placement service ensures each workflow is processed by exactly one instance. Scale horizontally without duplicate executions or race conditions.
Full Execution History
Complete audit trail for every workflow with deterministic replay. Re-run any past execution for debugging, compliance, or analysis. All built on the open-source Dapr project.
How It Works
Three Steps to Production
Keep your existing Microsoft Agent Framework code. Add production reliability in minutes.
Build with Microsoft Agent Framework
Define your agent, tools, and logic using Microsoft Agent Framework exactly as you normally would. No special patterns or abstractions required.
Wrap with Diagrid
Add one import and wrap your agent with DaprWorkflowAgentRunner (or DaprWorkflowGraphRunner for LangGraph). Each tool call becomes a durable Dapr workflow activity.
Deploy to production
Run with Dapr Workflows handling crash recovery, state persistence, distributed coordination, security, and observability. Your agent code runs locally or in the cloud.
FAQ
Frequently Asked Questions
Run Microsoft Agents Without Azure Lock-In
Replace Azure Durable Task Scheduler with Kubernetes-native durable execution. In-cluster latency, no per-action fees, any cloud. Built on open-source Dapr. Start free, no credit card required.