# Amazon SQS vs Azure Queue Storage

Canonical: https://inetgeek.com/compare/amazon-sqs-vs-azure-queue-storage/

Every value below is read from Amazon SQS's and Azure Queue Storage's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | Amazon SQS | Azure Queue Storage |
| --- | --- | --- |
| Pricing model | Per request, not per message: every API action counts, and a 1 MiB payload is billed as 16 requests. FIFO queues cost $0.50 per million against standard's $0.40 in us-east-1, and fair queue requests add $0.10 per million on top of the standard rate. | 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 | 1,000,000 requests a month free, permanently and across all regions. Beyond that, standard queues are $0.40 per million in us-east-1, falling to $0.30 above 100 billion and $0.24 above 200 billion. | 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 | 256 KB per message. A single request carries 1 to 10 messages up to 1 MiB total, and each 64 KB chunk of payload is billed as one request. | 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. |

## Where they differ

### Pricing model

- Amazon SQS: Per request, not per message: every API action counts, and a 1 MiB payload is billed as 16 requests. FIFO queues cost $0.50 per million against standard's $0.40 in us-east-1, and fair queue requests add $0.10 per million on top of the standard rate. ([source](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSQueueService/current/us-east-1/index.json))
- 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. ([source](https://prices.azure.com/api/retail/prices))

### Included per month

- Amazon SQS: 1,000,000 requests a month free, permanently and across all regions. Beyond that, standard queues are $0.40 per million in us-east-1, falling to $0.30 above 100 billion and $0.24 above 200 billion. ([source](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AWSQueueService/current/us-east-1/index.json))
- 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. ([source](https://prices.azure.com/api/retail/prices))

### Maximum message size

- Amazon SQS: 256 KB per message. A single request carries 1 to 10 messages up to 1 MiB total, and each 64 KB chunk of payload is billed as one request. ([source](https://aws.amazon.com/sqs/pricing/))
- 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. ([source](https://learn.microsoft.com/en-us/azure/storage/queues/storage-queues-introduction))

## Which should you choose?

Pick Amazon SQS if AWS-resident systems that want a queue with a permanent free million requests a month and no capacity to plan — SQS scales without a throughput setting to choose.

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.

Consider something else: Amazon SQS — Billing is per request rather than per message, and a 1 MiB payload counts as sixteen, so chatty polling or large messages cost far more than the message count suggests.

Consider something else: 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

- Free tier: Amazon SQS: Yes
- Message retention: 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: 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.
- Dead letter queue: Amazon SQS: Supported

## Questions this comparison answers

**Should I choose Amazon SQS or Azure Queue Storage?**

Pick Amazon SQS if AWS-resident systems that want a queue with a permanent free million requests a month and no capacity to plan — SQS scales without a throughput setting to choose.
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.
