Why (not yet — tracking only)
No Azure deployment target exists yet for any Helix service. This issue exists purely to record the design decision for whenever that changes, so it isn't rediscovered from scratch.
Key decision: target Azure Service Bus, not Azure Storage Queues
SQS FIFO's MessageGroupId/MessageDeduplicationId (relied on today by the indexer, audit-logger, and media-log producers in helix-api-service) map cleanly onto Azure Service Bus sessions + native duplicate detection. Azure Storage Queues have no ordering or dedup concept at all and would require reimplementing both application-side with weaker guarantees. Any future Azure backend for helix-shared-queue should wrap @azure/service-bus, not @azure/storage-queue.
Decisions deferred to implementation time
- Auth: connection string vs. managed identity (
@azure/identity/DefaultAzureCredential).
- Queue/topic naming and session/dedup-window provisioning (infra-level).
- Message size limits (256KB standard tier matches current
MAX_MESSAGE_SIZE guards; revisit only if premium tier's 1MB is used).
No code changes proposed by this issue.
Depends on: #1269
Why (not yet — tracking only)
No Azure deployment target exists yet for any Helix service. This issue exists purely to record the design decision for whenever that changes, so it isn't rediscovered from scratch.
Key decision: target Azure Service Bus, not Azure Storage Queues
SQS FIFO's
MessageGroupId/MessageDeduplicationId(relied on today by the indexer, audit-logger, and media-log producers in helix-api-service) map cleanly onto Azure Service Bus sessions + native duplicate detection. Azure Storage Queues have no ordering or dedup concept at all and would require reimplementing both application-side with weaker guarantees. Any future Azure backend forhelix-shared-queueshould wrap@azure/service-bus, not@azure/storage-queue.Decisions deferred to implementation time
@azure/identity/DefaultAzureCredential).MAX_MESSAGE_SIZEguards; revisit only if premium tier's 1MB is used).No code changes proposed by this issue.
Depends on: #1269