Practical rule of thumb
- SNS is for broadcasting events
- SQS is for reliable background jobs
- EventBridge is for architecture-level event orchestration (N-to-N)
- Kinesis is for high-volume real-time data streaming
Looking at the cost for these alone can be tempting, but pricing is only one part of the decision. Each AWS messaging and streaming service is designed for slightly different workloads, delivery guarantees, latency expectations, and integration patterns. Selecting the right service is less about “which is cheaper” and more about what problem you’re actually trying to solve.
Cost Calculations
Consider two scenarios
Scenario A — 1 message/second
| Service | How AWS bills it | Calc | Estimated monthly cost |
|---|---|---|---|
| SNS (Publish only) | $0.50 per 1M req (each 64 KB chunk = 1 req) | 2.592 M req × $0.50/M | $1.30 |
| SQS (Standard, send only) | ~$0.40 per 1M req (each 64 KB chunk = 1 req) | 2.592 M req × $0.40/M | $1.04 |
| EventBridge (custom events, ingress only) | $1.00 per 1M events (≤64 KB each) | 2.592 M × $1.00/M | $2.59 |
| Kinesis Data Streams (provisioned mode) | Shard-hours + PUT payload units (25 KB) | Shards: 1 (10 KB/s) → 720 h × $0.015/h = $10.80; PUTs: 2.592 M × $0.014/M ≈ $0.04 | $10.84 |
Scenario B — 1000 message/second
| Service | How AWS bills it | Calc | Estimated monthly cost |
|---|---|---|---|
| SNS (publish only) | $0.50 / 1M reqs | 2,592 M req × $0.50/M | $1,296 |
| SQS (send only) | ~$0.40 / 1M reqs | 2,592 M req × $0.40/M | $1,036.80 |
| EventBridge (ingress only) | $1.00 / 1M events | 2,592 M × $1.00/M | $2,592 |
| Kinesis Data Streams (provisioned) | Shard-hours + PUT units | Throughput: 1000 msg/s × 10 KB ≈ 10 MB/s ⇒ 10 shards (limit is 1 MB/s per shard). Shard-hours: 10 × 720 × $0.015 ≈ $108.00. PUTs: 2,592 M × $0.014/M ≈ $36.29. | $144.29 |
Cost vs Capability
It’s normal to notice that Kinesis looks more expensive than SNS/SQS on paper but Kinesis is giving you streaming + ordering + replay, which queues do not. Similarly, EventBridge is priced higher per message than SNS because it gives you routing, filtering, SaaS integration, and cross-account governance.
There is no “best” service overall — only a best fit for your workload.
Wrap-up
Once you know what your system is trying to do, the right service would become much easier to choose and the cost comparison would make much more sense.