Government IT teams building workflow automation and AI agent orchestrations now have a compelling pay-per-use option: the Durable Task Scheduler Consumption SKU for Azure Functions. This fully managed backend eliminates the need to provision storage accounts, manage queue infrastructure, or predict capacity upfront. You pay only for actions dispatched, making it ideal for variable workloads common in government environments: seasonal permit processing, intermittent citizen service requests, and bursty AI inference pipelines.
This guide walks through architecture patterns, deployment templates, and working code examples to get your team building production durable workflows on the Consumption SKU.
What Is the Durable Task Scheduler?
The Durable Task Scheduler is Azure’s recommended storage backend for Durable Functions. Unlike the legacy Azure Storage provider (where you manage your own queues and tables), the Durable Task Scheduler is a purpose-built, fully managed backend-as-a-service. Your apps connect via gRPC, and the scheduler handles all state persistence, message dispatching, and scaling internally.
The scheduler offers two billing SKUs:
| Feature | Dedicated SKU | Consumption SKU |
|---|---|---|
| Billing model | Fixed monthly per Capacity Unit | Pay per action dispatched |
| Max throughput | 2,000 actions/sec per CU | 500 actions/sec |
| Data retention | Up to 90 days | Up to 30 days |
| High availability | Supported (3 CUs) | Not available |
| Best for | Production at scale | Dev/test, variable workloads |
An action is any message dispatched to your application: starting an orchestration, scheduling an activity, completing a timer, processing an external event, or returning activity results. A simple three-activity orchestration incurs approximately 7 actions (1 orchestrator start + 2 per activity for scheduling and result processing).
Architecture: How It Fits Together
The deployment architecture separates compute from state management:
- Azure Functions app (Flex Consumption or Consumption plan) provides serverless compute
- Durable Task Scheduler (Consumption SKU) manages all orchestration state
- User-Assigned Managed Identity authenticates the function app to the scheduler
- Task Hub is a logical container for your orchestration instances within the scheduler
Your function app connects to the scheduler endpoint (e.g., myscheduler.eastus.durabletask.io) over TLS-secured gRPC. Work items are pushed to your app, eliminating polling overhead.
Deploying with Bicep
Here is a complete Bicep template that provisions a Durable Task Scheduler with the Consumption SKU, a task hub, a user-assigned managed identity, and the required role assignment:
| |
Deploy with the Azure CLI:
| |
Production note: Replace the
0.0.0.0/0IP allowlist with your function app’s outbound IP ranges or use private endpoints for VNet-integrated deployments.
Configuring Your Function App
After deploying infrastructure, configure your function app to connect to the scheduler.
host.json:
| |
Application settings (set via Azure CLI or Bicep):
| |
.NET Example: Multi-Step Permit Processing Workflow
Here is a real-world orchestration pattern: a citizen permit application that fans out approval checks in parallel, then chains a final notification step.
| |
This orchestration consumes approximately 11 actions on the Consumption SKU (1 start + 2 validation + 6 parallel checks + 2 notification). At Consumption pricing, even 100,000 monthly permit applications remain extremely cost-effective.
Python Example: AI Agent Orchestration
Durable Functions excels at coordinating multi-step AI agent workflows where each step calls a different model or service. Here is a Python orchestration that implements a research-summarize-review agent pattern:
| |
Each activity function can call Azure OpenAI Service independently, and the orchestrator maintains state across all LLM calls without you managing any queues or databases.
Cost Optimization Patterns for Government
The Consumption SKU pricing model aligns perfectly with government budgeting:
1. Action-based billing eliminates waste. Seasonal workflows (tax filing, enrollment periods, annual reporting) incur zero scheduler cost when idle. You only pay when orchestrations actually run.
2. Share schedulers across teams. A single Consumption SKU scheduler supports up to 5 task hubs. Multiple department applications can share infrastructure while maintaining logical isolation.
3. Right-size your compute layer. Pair the Consumption SKU scheduler with Azure Functions Flex Consumption plan for true double-serverless: both your compute and your orchestration state scale to zero.
4. Use the emulator for development. The Docker-based emulator runs locally with zero cloud cost:
| |
Developers test their full orchestration logic locally before deploying to Azure.
Why This Matters for Government
Budget predictability with zero idle cost. Government procurement cycles demand predictable spending. The Consumption SKU charges nothing when workflows are inactive, eliminating the need to justify fixed infrastructure costs for intermittent workloads like seasonal licensing, election systems, or periodic compliance reporting.
Managed identity-only authentication. The Durable Task Scheduler does not support connection strings with storage keys. It requires managed identity (RBAC) authentication exclusively. This aligns with Zero Trust mandates and simplifies security audits by eliminating shared secrets from your deployment.
AI agent orchestration without infrastructure complexity. As government agencies adopt Azure OpenAI for citizen services, document processing, and decision support, the Durable Task Scheduler provides fault-tolerant coordination of multi-model AI pipelines without requiring Kubernetes, custom message brokers, or dedicated VMs.
Compliance-friendly architecture. The scheduler is available in Azure commercial regions. For organizations using Azure Government, continue monitoring regional availability as the service expands.
Lower operational burden. With the legacy Azure Storage provider, teams manage table storage, queue configurations, and partition scaling themselves. The Durable Task Scheduler eliminates this operational overhead entirely, freeing IT staff to focus on application logic rather than infrastructure.
Getting Started Checklist
- Install the Azure CLI Durable Task extension:
az extension add --name durabletask - Deploy the Bicep template above to create your scheduler and task hub
- Run the Docker emulator locally for development
- Update your
host.jsonto use theazureManagedstorage provider - Assign the
Durable Task Data Contributorrole to your managed identity - Deploy your function app and monitor via the built-in dashboard
