It's a queue!
Pros
- SQS is reliable and fully managed. Our engineers do not have to worry about running RabbitMQ.
- SQS is very inexpensive.
- SQS allows data to be encrypted in transit, which may be required for compliance in some products.
- FIFO queues provide exactly-once processing.
Cons
- Lambda integration is lacking. It would be great if enqueueing a message could trigger a Lambda function. Today, Lambda functions can be invoked periodically by CloudWatch and poll SQS for messages.
- FIFO queue throughput is limited to ~300 messages/second. This was not a problem for us, but it may be for larger organizations.
- Delay queues can be great for implementing notification features, but the maximum delay period is too short.
Return on Investment
- A positive impact is that our engineers can focus on features instead of configuring and running a queue.
- We've never worried about the reliability of SQS.
- Testing systems end-to-end can be more difficult, particularly if you don't want to use a live SQS queue.
Other Software Used
Slack, Bitbucket, Atlassian Confluence, GitHub, Ubuntu Linux, PyCharm
