Permit packet generation needs multi-step generative work with checkpoints and retries across hours. Which Functions approach fits best?
Select an answer to reveal the explanation.
Short Explanation
When your permit packet is a multi-act play, Durable Functions orchestration is the stage manager keeping cues, checkpoints, and retries in order. You avoid making the caller wait through one endless HTTP curtain call.
Full Explanation
Permit packet generation that spans multiple generative steps over hours needs checkpoints, durable state, and controlled retries. Durable Functions orchestration fits because an orchestrator sequences activity Functions—gathering forms, drafting findings, calling Azure OpenAI, and assembling packet artifacts—while the runtime persists progress. After a host recycle or transient failure, work can resume from the last checkpoint instead of forcing clerks to restart the municipal packet. A single HTTP Function that blocks the caller until every step finishes inline can hit gateway timeouts, waste compute while waiting, and offers no durable checkpointing for an hour-scale workflow. Fire-and-forget Blob Storage uploads store bytes, but alone they do not represent workflow state, coordinate packet steps, or support retries across them. A spreadsheet macro outside Azure lacks cloud-scale reliability and identity integration, and does not use the Azure Functions pattern suited to this workflow. Exam caveat: Durable Functions is the fit when the scenario emphasizes long-running, multi-step, stateful coordination. Keep orchestrators deterministic: put non-deterministic AI calls and I/O in activity Functions, and use durable timers or external events for human approvals. Practical check: run the permit orchestration in a test slot, stop the host mid-run, restart it, and verify it resumes from a checkpoint with activity outputs intact; confirm Application Insights shows replay-safe progress and the final packet blob appears once, without duplicate charged drafts.