Cloudflare Queues vs Azure Queue Storage
A comparison of Cloudflare Queues and Azure Queue Storage built from values read directly from each provider's own documentation, with the source recorded against every figure.
The short answer
- Pick Cloudflare Queues if
- Workers applications that want a queue with no egress or throughput charges and a retention window measured in days rather than hours.
- Pick Azure Queue Storage if
- Azure-resident systems that want a queue billed like storage — operations plus depth, no plan to choose and no capacity to provision.
5 sourced criteria separate them:
- Pricing model
- Cloudflare Queues: Billed per operation, not per message: one operation per 64 KB written, read or deleted, and a message larger than 64 KB counts as several. Cloudflare states a normal delivery takes three operations — one write, one read, one delete — so a million messages is nearer three million operations. Workers Paid includes 1,000,000 operations a month, then $0.40 per million; the free plan allows 10,000 a day.
- Azure Queue Storage: Per 10,000 operations plus stored data, with the rate set by redundancy: LRS Class 1 operations are $0.004 per 10,000, ZRS and GRS cost more for the same call. There is no plan fee and no included allowance.
- Included per month
- Cloudflare Queues: 1,000,000 operations a month on Workers Paid, then $0.40 per million. An operation is each 64 KB written, read or deleted, so a typical message costs three — Cloudflare's own formula is ((messages × 3) − 1,000,000) / 1,000,000 × $0.40. Workers Free allows 10,000 operations a day.
- Azure Queue Storage: None included — every operation is billed. Class 1 operations are $0.004 per 10,000 on LRS in East US, which is $0.40 per million, matching Amazon SQS's standard rate exactly.
- Maximum message size
- Cloudflare Queues: 128 KB per message, with roughly 100 bytes of that taken by internal metadata. Messages above 64 KB are billed as multiple operations.
- Azure Queue Storage: 64 KB per message. A queue may hold millions of messages, bounded only by the storage account's capacity rather than a queue-level ceiling.
- Message retention
- Cloudflare Queues: 4 days by default on Workers Paid, configurable up to 14 days. Workers Free is fixed at 24 hours.
- Azure Queue Storage: Messages in the queue are billed as stored data at $0.045 per GB-month on LRS, rather than granted as a retention window. Azure charges for depth, not for time.
- Maximum delay
- Cloudflare Queues: 24 hours, set with delaySeconds when sending or retrying.
- Azure Queue Storage: Time-to-live defaults to seven days and can be set to any positive number, or to -1 for a message that never expires — the only queue here with an unbounded option.
Pick the criteria you care about. The chart counts how many of them lean toward each provider — the same read as scanning the bars below, just totalled for the ones you chose.
Cloudflare Queues 0
Azure Queue Storage 0
At a glance.
| Criterion | Cloudflare Queues | Azure Queue Storage |
|---|---|---|
| Pricing | ||
| Pricing model | Billed per operation, not per message: one operation per 64 KB written, read or deleted, and a message larger than 64 KB counts as several. Cloudflare states a normal delivery takes three operations — one write, one read, one delete — so a million messages is nearer three million operations. Workers Paid includes 1,000,000 operations a month, then $0.40 per million; the free plan allows 10,000 a day. | Per 10,000 operations plus stored data, with the rate set by redundancy: LRS Class 1 operations are $0.004 per 10,000, ZRS and GRS cost more for the same call. There is no plan fee and no included allowance. |
| Queues | ||
| Included per month | 1,000,000 operations a month on Workers Paid, then $0.40 per million. An operation is each 64 KB written, read or deleted, so a typical message costs three — Cloudflare's own formula is ((messages × 3) − 1,000,000) / 1,000,000 × $0.40. Workers Free allows 10,000 operations a day. | None included — every operation is billed. Class 1 operations are $0.004 per 10,000 on LRS in East US, which is $0.40 per million, matching Amazon SQS's standard rate exactly. |
| Maximum message size | 128 KB per message, with roughly 100 bytes of that taken by internal metadata. Messages above 64 KB are billed as multiple operations. | 64 KB per message. A queue may hold millions of messages, bounded only by the storage account's capacity rather than a queue-level ceiling. |
| Message retention | 4 days by default on Workers Paid, configurable up to 14 days. Workers Free is fixed at 24 hours. | Messages in the queue are billed as stored data at $0.045 per GB-month on LRS, rather than granted as a retention window. Azure charges for depth, not for time. |
| Maximum delay | 24 hours, set with delaySeconds when sending or retrying. | Time-to-live defaults to seven days and can be set to any positive number, or to -1 for a message that never expires — the only queue here with an unbounded option. |
Where they differ.
Pricing model
- Cloudflare Queues
- Billed per operation, not per message: one operation per 64 KB written, read or deleted, and a message larger than 64 KB counts as several. Cloudflare states a normal delivery takes three operations — one write, one read, one delete — so a million messages is nearer three million operations. Workers Paid includes 1,000,000 operations a month, then $0.40 per million; the free plan allows 10,000 a day.
- Azure Queue Storage
- Per 10,000 operations plus stored data, with the rate set by redundancy: LRS Class 1 operations are $0.004 per 10,000, ZRS and GRS cost more for the same call. There is no plan fee and no included allowance.
Sources (2) →Sources ↓
- Pricing — Cloudflare Queues docs ↗
“An operation is counted for each 64 KB of data that is written, read, or deleted. [...] Standard operations 10,000 operations/day included 1,000,000 operations/month included + $0.40/million operations [...] In most cases, it takes 3 operations to deliver a message: 1 write, 1 read, and 1 delete.”
Read 2026-09-07 · official docs
- Azure Retail Prices API — Queues v2, eastus ↗
“"LRS Class 1 Operations", "10K", 0.004 [...] "ZRS Class 2 Operations", "10K", 0.004 [...] "GRS Class 1 Operations", "10K", 0.008”
Read 2026-09-06 · official pricing
Included per month
- Cloudflare Queues
- 1,000,000 operations a month on Workers Paid, then $0.40 per million. An operation is each 64 KB written, read or deleted, so a typical message costs three — Cloudflare's own formula is ((messages × 3) − 1,000,000) / 1,000,000 × $0.40. Workers Free allows 10,000 operations a day.
- Azure Queue Storage
- None included — every operation is billed. Class 1 operations are $0.004 per 10,000 on LRS in East US, which is $0.40 per million, matching Amazon SQS's standard rate exactly.
Sources (2) →Sources ↓
- Pricing — Cloudflare Queues docs ↗
“1,000,000 operations/month included + $0.40/million operations [...] An operation is counted for each 64 KB of data that is written, read, or deleted. [...] In most cases, it takes 3 operations to deliver a message [...] 10,000 operations/day included”
Read 2026-09-06 · official docs
- Azure Retail Prices API — Queues v2, eastus ↗
“"productName": "Queues v2", "meterName": "LRS Class 1 Operations", "unitOfMeasure": "10K", "retailPrice": 0.004”
Read 2026-09-06 · official pricing
Maximum message size
128 KB per message, with roughly 100 bytes of that taken by internal metadata. Messages above 64 KB are billed as multiple operations.
64 KB per message. A queue may hold millions of messages, bounded only by the storage account's capacity rather than a queue-level ceiling.
Sources (2) →Sources ↓
- Limits — Cloudflare Queues docs ↗
“Message size | 128 KB [...] Messages can include up to ~100 bytes of internal metadata that counts towards total message limits.”
Read 2026-09-06 · official docs
- Introduction to Azure Queue Storage — Microsoft Learn ↗
“A queue message can be up to 64 KB in size. A queue may contain millions of messages, up to the total capacity limit of a storage account.”
Read 2026-09-06 · official docs
Message retention
- Cloudflare Queues
- 4 days by default on Workers Paid, configurable up to 14 days. Workers Free is fixed at 24 hours.
- Azure Queue Storage
- Messages in the queue are billed as stored data at $0.045 per GB-month on LRS, rather than granted as a retention window. Azure charges for depth, not for time.
Sources (2) →Sources ↓
- Pricing — Cloudflare Queues docs ↗
“Message retention | 24 hours (non-configurable) | 4 days default, configurable up to 14 days”
Read 2026-09-06 · official docs
- Azure Retail Prices API — Queues v2, eastus ↗
“"meterName": "LRS Data Stored", "unitOfMeasure": "1 GB/Month", "retailPrice": 0.045”
Read 2026-09-06 · official pricing
Maximum delay
24 hours, set with delaySeconds when sending or retrying.
Time-to-live defaults to seven days and can be set to any positive number, or to -1 for a message that never expires — the only queue here with an unbounded option.
Sources (2) →Sources ↓
- Limits — Cloudflare Queues docs ↗
“delaySeconds (when sending or retrying) | 24 hours”
Read 2026-09-06 · official docs
- Introduction to Azure Queue Storage — Microsoft Learn ↗
“For version 2017-07-29 or later, the maximum time-to-live can be any positive number, or -1 indicating that the message doesn't expire. If this parameter is omitted, the default time-to-live is seven days.”
Read 2026-09-06 · official docs
When these numbers change, hear about it. Sources are re-checked monthly; a repricing goes out as a short note.
Which should you choose?
Choose Cloudflare Queues if…
Workers applications that want a queue with no egress or throughput charges and a retention window measured in days rather than hours.
Editorial · Palash Bagchi · approved
Choose Azure Queue Storage if…
Azure-resident systems that want a queue billed like storage — operations plus depth, no plan to choose and no capacity to provision.
Editorial · Palash Bagchi · approved
Consider something else if…
- Cloudflare Queues: Billing is per 64 KB operation rather than per message, so a large payload or a chatty retry loop costs several times what the message count suggests.
- Azure Queue Storage: Queued messages are billed as stored data, so a backlog costs money by the gigabyte-month, and there is no free allowance at all where SQS gives a million requests a month.
Documented by only one.
These criteria are published by one provider and not the other. An absence here means we have not found a source, not that the feature is missing.
Questions this comparison answers.
Should I choose Cloudflare Queues or Azure Queue Storage?
Pick Cloudflare Queues if Workers applications that want a queue with no egress or throughput charges and a retention window measured in days rather than hours.
Pick Azure Queue Storage if Azure-resident systems that want a queue billed like storage — operations plus depth, no plan to choose and no capacity to provision.
