# Amazon SQS vs Temporal

Canonical: https://inetgeek.com/compare/amazon-sqs-vs-temporal/

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

## At a glance

| Criterion | Amazon SQS | Temporal |
| --- | --- | --- |
| Free tier | Yes | Yes |
| Entry paid plan | No paid plan or minimum fee; billed per request after the free 1 million requests a month. | $100/month for Essentials, including 1 million Actions, 1 GB active storage and 40 GB retained storage. Business starts at $500/month with 2.5 million Actions. |
| 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 Action, with storage billed separately and split between open and closed workflows. Plans buy SLA tier and support response rather than volume — Essentials is 99.9% with one business day P0 response, Business adds scale. An open-source self-hosted edition runs the same service on your own infrastructure. |
| Regions | 34 commercial AWS Regions plus 2 AWS GovCloud (US) Regions listed in the SQS service endpoints table. | 20 regions for Temporal Cloud Namespaces: 14 AWS regions and 6 Google Cloud regions, each with a PrivateLink or Private Service Connect endpoint. |
| 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. | 1,000,000 Actions a month on Essentials and 2.5 million on Business. An Action is Temporal's own unit — a workflow operation — and is not comparable to a message, an operation or an execution elsewhere in this category. |
| 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. | 2 MB maximum payload per request (each Workflow/Activity argument or return value); 4 MB per Event History transaction, non-configurable. |
| Message retention | 4 days by default; configurable from 60 seconds up to 14 days per queue. | Storage rather than a time window: 1 GB of active storage for open workflows and 40 GB retained for closed ones on Essentials, 2.5 GB active on Business. Temporal keeps workflow event history, so retention is bounded by bytes rather than by days — recorded without a magnitude because it is not the quantity this criterion ranks. |
| Maximum delay | 15 minutes maximum per-message delay (message timer) or per-queue delay; default is 0 seconds. | Timers (durable sleeps) may run up to 100 years in Temporal Cloud. |
| Concurrency | Approximately 120,000 in-flight messages per standard queue (received but not yet deleted); API call rate on standard queues is nearly unlimited. | 500 Actions per second per Namespace by default, auto-scaling above that with On-Demand Capacity; 20,000 Activity and 20,000 Workflow Task pollers per Namespace. |
| SOC 2 | Listed as SOC-compliant on AWS's own compliance scope page. | SOC 2 Type II certified; trust center lists SOC 2 Type 2, GDPR, HIPAA and CCPA badges. |
| HIPAA | Listed as a HIPAA-eligible service on AWS's own reference page. | Temporal Cloud is stated to be compliant with HIPAA regulations; HIPAA listed among trust-center certifications. |
| GDPR / data residency | AWS customers can process personal data on all AWS services in compliance with GDPR, and choose the storage type and geographic region for their data. | GDPR compliant with a DPA reflecting GDPR; Namespaces do not share data processing or storage across regional boundaries. |
| Encryption at rest | Server-side encryption of queue contents with SQS-managed keys (SSE-SQS) or AWS KMS keys (SSE-KMS). | Persistence layer and Elasticsearch index encrypted at rest with AES-256-GCM; TLS 1.3 in transit. |
| Customer-managed keys | Supported via SSE-KMS: queues can use a customer managed KMS key created and policy-controlled in AWS KMS. | Client-side Data Converter encrypts payloads with your keys on your Workers before they reach Temporal Cloud, which cannot decrypt them; no server-side KMS option stated. |
| Role-based access control | IAM identity-based policies on users, groups and roles plus resource-based queue policies control access to queues and actions. | Account-level roles (administrator, developer, read-only) plus Namespace-level permissions; custom roles, SAML and SCIM documented. |
| Private networking / VPC | Interface VPC endpoints (AWS PrivateLink) let a VPC reach SQS privately, including FIPS endpoints; HTTPS endpoints only. | AWS PrivateLink or GCP Private Service Connect to Namespaces, alongside the default public endpoints. |

## Where they differ

### Entry paid plan

- Amazon SQS: No paid plan or minimum fee; billed per request after the free 1 million requests a month. ([source](https://aws.amazon.com/sqs/pricing/))
- Temporal: $100/month for Essentials, including 1 million Actions, 1 GB active storage and 40 GB retained storage. Business starts at $500/month with 2.5 million Actions. ([source](https://temporal.io/pricing))

### 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))
- Temporal: Per Action, with storage billed separately and split between open and closed workflows. Plans buy SLA tier and support response rather than volume — Essentials is 99.9% with one business day P0 response, Business adds scale. An open-source self-hosted edition runs the same service on your own infrastructure. ([source](https://temporal.io/pricing))

### Regions

- Amazon SQS: 34 commercial AWS Regions plus 2 AWS GovCloud (US) Regions listed in the SQS service endpoints table. ([source](https://docs.aws.amazon.com/general/latest/gr/sqs-service.html))
- Temporal: 20 regions for Temporal Cloud Namespaces: 14 AWS regions and 6 Google Cloud regions, each with a PrivateLink or Private Service Connect endpoint. ([source](https://docs.temporal.io/cloud/regions))

### 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))
- Temporal: 1,000,000 Actions a month on Essentials and 2.5 million on Business. An Action is Temporal's own unit — a workflow operation — and is not comparable to a message, an operation or an execution elsewhere in this category. ([source](https://temporal.io/pricing))

### 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/))
- Temporal: 2 MB maximum payload per request (each Workflow/Activity argument or return value); 4 MB per Event History transaction, non-configurable. ([source](https://docs.temporal.io/cloud/limits))

### Message retention

- Amazon SQS: 4 days by default; configurable from 60 seconds up to 14 days per queue. ([source](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html))
- Temporal: Storage rather than a time window: 1 GB of active storage for open workflows and 40 GB retained for closed ones on Essentials, 2.5 GB active on Business. Temporal keeps workflow event history, so retention is bounded by bytes rather than by days — recorded without a magnitude because it is not the quantity this criterion ranks. ([source](https://temporal.io/pricing))

### Maximum delay

- Amazon SQS: 15 minutes maximum per-message delay (message timer) or per-queue delay; default is 0 seconds. ([source](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-messages.html))
- Temporal: Timers (durable sleeps) may run up to 100 years in Temporal Cloud. ([source](https://docs.temporal.io/cloud/limits))

### Concurrency

- Amazon SQS: Approximately 120,000 in-flight messages per standard queue (received but not yet deleted); API call rate on standard queues is nearly unlimited. ([source](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/quotas-queues.html))
- Temporal: 500 Actions per second per Namespace by default, auto-scaling above that with On-Demand Capacity; 20,000 Activity and 20,000 Workflow Task pollers per Namespace. ([source](https://docs.temporal.io/cloud/limits))

### SOC 2

- Amazon SQS: Listed as SOC-compliant on AWS's own compliance scope page. ([source](https://aws.amazon.com/compliance/services-in-scope/SOC/))
- Temporal: SOC 2 Type II certified; trust center lists SOC 2 Type 2, GDPR, HIPAA and CCPA badges. ([source](https://temporal.io/security))

### HIPAA

- Amazon SQS: Listed as a HIPAA-eligible service on AWS's own reference page. ([source](https://aws.amazon.com/compliance/hipaa-eligible-services-reference/))
- Temporal: Temporal Cloud is stated to be compliant with HIPAA regulations; HIPAA listed among trust-center certifications. ([source](https://temporal.io/security))

### GDPR / data residency

- Amazon SQS: AWS customers can process personal data on all AWS services in compliance with GDPR, and choose the storage type and geographic region for their data. ([source](https://aws.amazon.com/compliance/gdpr-center/))
- Temporal: GDPR compliant with a DPA reflecting GDPR; Namespaces do not share data processing or storage across regional boundaries. ([source](https://docs.temporal.io/cloud/security))

### Encryption at rest

- Amazon SQS: Server-side encryption of queue contents with SQS-managed keys (SSE-SQS) or AWS KMS keys (SSE-KMS). ([source](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html))
- Temporal: Persistence layer and Elasticsearch index encrypted at rest with AES-256-GCM; TLS 1.3 in transit. ([source](https://docs.temporal.io/cloud/security))

### Customer-managed keys

- Amazon SQS: Supported via SSE-KMS: queues can use a customer managed KMS key created and policy-controlled in AWS KMS. ([source](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-server-side-encryption.html))
- Temporal: Client-side Data Converter encrypts payloads with your keys on your Workers before they reach Temporal Cloud, which cannot decrypt them; no server-side KMS option stated. ([source](https://docs.temporal.io/cloud/security))

### Role-based access control

- Amazon SQS: IAM identity-based policies on users, groups and roles plus resource-based queue policies control access to queues and actions. ([source](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-overview-of-managing-access.html))
- Temporal: Account-level roles (administrator, developer, read-only) plus Namespace-level permissions; custom roles, SAML and SCIM documented. ([source](https://docs.temporal.io/cloud/security))

### Private networking / VPC

- Amazon SQS: Interface VPC endpoints (AWS PrivateLink) let a VPC reach SQS privately, including FIPS endpoints; HTTPS endpoints only. ([source](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-internetwork-traffic-privacy.html))
- Temporal: AWS PrivateLink or GCP Private Service Connect to Namespaces, alongside the default public endpoints. ([source](https://docs.temporal.io/cloud/connectivity))

## 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 Temporal if Long-running, stateful workflows where losing execution history is the failure that matters — Temporal keeps event history as first-class storage rather than logs that expire.

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: Temporal — Entry is $100 a month before any usage, and the unit is an Action, which does not map onto messages or task runs — budgeting requires modelling your workflows, not counting jobs.

## Documented by only one

- Startup credit program: Temporal: Temporal Cloud startup credits: $6,000, for funded startups that have raised $30M or less.
- Dead letter queue: Amazon SQS: Supported
- ISO 27001: Amazon SQS: Covered under AWS's account-wide ISO/IEC 27001:2022 certification — not scoped per-service the way SOC, HIPAA and PCI DSS are on AWS's own site.
- PCI DSS: Amazon SQS: Listed as PCI DSS-compliant on AWS's own compliance scope page.

## Questions this comparison answers

**Entry paid plan: Amazon SQS or Temporal?**

Amazon SQS: No paid plan or minimum fee; billed per request after the free 1 million requests a month.
Temporal: $100/month for Essentials, including 1 million Actions, 1 GB active storage and 40 GB retained storage. Business starts at $500/month with 2.5 million Actions.

**Should I choose Amazon SQS or Temporal?**

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 Temporal if Long-running, stateful workflows where losing execution history is the failure that matters — Temporal keeps event history as first-class storage rather than logs that expire.
