Prompt
I'm unhappy with AWS SNS for orchestration and delivery tracking
Latest observation
Oct 14, 2026
OpenAI APIWeb search: off
That’s a common pain point. SNS is great for fan-out and simple push delivery, but it’s usually not ideal as an orchestration layer and it offers limited delivery tracking/observability unless you build extra plumbing around it.
Where SNS tends to fall short
- No real orchestration: SNS is publish/subscribe, not a workflow engine.
- Weak delivery visibility: you can tell a message was published, but end-to-end “what happened next?” is harder.
- Retry/branching logic is limited: complex conditional flows get messy fast.
- Harder to trace across systems: unless you add correlation IDs, logging, and tracing everywhere.
Common alternatives, depending on what you need
If you want orchestration
- AWS Step Functions
- Best if you need explicit workflows, retries, branching, and state tracking.
- Strong auditability and execution history.
- Temporal
- Great for durable, code-first orchestration with strong retry/state semantics.
- Good for complex business workflows.
If you want reliable async delivery
- SQS
- Better when you need queue semantics, backpressure, and worker-based processing.
- Pair with DLQs and visibility timeouts.
- Kafka / MSK
- Better for event streaming, replayability, and richer event-driven architectures.
- More operational overhead than SNS/SQS.
If you want delivery tracking / observability
- Use a combination of:
- Correlation IDs
- Centralized logs
- Distributed tracing with OpenTelemetry / X-Ray
- Audit/event store
- DLQs + metrics + alarms
- If you need “message status” as a first-class feature, you often need to design that explicitly.
Practical recommendation
A common pattern is:
- Step Functions or Temporal for orchestration
- SQS for delivery to workers
- SNS only for simple notifications/fan-out, not core workflow control
Quick rule of thumb
- SNS: “Tell multiple things something happened”
- SQS: “Make sure work gets done”
- Step Functions/Temporal: “Coordinate a process”
If you want, I can help you choose a replacement based on:
- your workflow complexity,
- whether you need guaranteed processing, and
- what “delivery tracking” means in your case.