TrustRadius: an HG Insights company

Amazon SQS

Score7.9 out of 10

30 Reviews and Ratings

What is Amazon SQS?

Amazon Web Services (AWS) Provides the Amazon Simple Queue Service (SQS), a managed message queue service which supports the safe decoupling and distribution of different components in a cloud infrastructure and cloud applications.

Categories & Use Cases

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

All Q's answered for SQS

Use Cases and Deployment Scope

Our Application was integrated with third-party app, to fetch updated data from third-party app without keeping users to wait, we used SQS to bring data out of sync from users call. As user's request is sent to SQS queue and data is updated in our system.

Pros

  • Dead letter queue for failed messages
  • Queue management
  • Message delivery to listener

Cons

  • More frequest polling will be expensive
  • No detailed monitoring of queues, just current data and regular monitoring is present
  • No way to fetch messages back from the queue

Return on Investment

  • Queue management by removing individual ActiveMQ Queue results in less management of individual servers
  • In a multi server system , sync between all servers is achieved with reduced Development efforts for handling sync
  • Direct impact on time taken to serve messages results in fast and optimised performance

Alternatives Considered

Redis

Other Software Used

Redis, AWS Auto Scaling, AWS CodeCommit

My opinion about SQS !

Pros

  • Very nice SDK
  • Useful console
  • Easy to use

Cons

  • Sometime the information (in-flight messages for instance) displayed in the console are not up-date
  • You need to be aware of how your queues are used to avoid cost issues

Return on Investment

  • It is at the core of many projects we are building so no doubt it is essential
  • A few times, before we mastered SQS, we has cost issues because we did not know how to configure the polling properly ...

Alternatives Considered

IBM Cloud Messages for RabbitMQ

Other Software Used

Amazon Elastic Container Service (Amazon ECS), Amazon Simple Notification Service (SNS), AWS Lambda

Amazon Simple Queue Service (SQS) - Easy because it's there

Pros

  • Simple to start: SQS is simple to get started with and configure if you are new to using both AWS and if you are new to using this particular service.
  • Pricing: Pricing for SQS is surprisingly less complicated than other services in AWS and is pretty reasonable.

Cons

  • Might not be the best solution if you aren't "all in" with AWS: Many AWS services rope you in to being all in with AWS. It becomes pretty difficult to implement full solutions using AWS without using their entire stack. SQS is not really any different in that respect.
  • There are free services that can do the same/similar things to SQS that may make it easier to implement outside AWS, or at least in part outside of AWS.

Alternatives Considered

Apache Kafka, Amazon Simple Notification Service (SNS) and RabbitMQ

Other Software Used

AWS CodePipeline, AWS Lambda, Amazon API Gateway, Amazon CloudFront, Amazon DynamoDB, Amazon Elastic Block Store (EBS), Amazon Elastic Compute Cloud (EC2), Amazon Elastic Container Service (Amazon ECS), Amazon Elastic File System (EFS), Amazon Fargate, Amazon S3 (Simple Storage Service), Amazon Simple Queue Service (SQS), Amazon Web Services, Atom, Azure DevOps (formerly VSTS), Chef, Consul, Docker, GitHub, Jekyll, Hugo, Jenkins, Kubernetes, MS SharePoint, Microsoft Office 365, Microsoft Visual Studio Code, Windows Server, CentOS, New Relic, PagerDuty, Okta Workforce Identity, Secret Server, ServiceNow, Slack, Terraform, Trello, monday.com, Lucidchart, Bitbucket Server (formerly Stash), Bitbucket, Gitlab, HashiCorp Vault, Atlassian Confluence, Jira Software

A powerful queue management service that will help you stay serverless

Pros

  • It provides an always-available serverless queue for workflows or mission-critical processes.
  • Is extremely low cost and overall costs to our environments have been negligible.

Cons

  • Scheduling options could be a bit more robust since deferred deliveries can be held for a maximum of 15 minutes currently.
  • Maximum message size limitations are not a huge hassle, but it would be nice to have the option to include larger messages with detailed log messages. This can be worked around but requires using another service such as DynamoDB to persist large messages and reference them from Amazon Simple Queue Service (SQS).

Return on Investment

  • Amazon Simple Queue Service (SQS) has given us the ability to manage many different processes without breaking our serverless application models.
  • Amazon Simple Queue Service (SQS) has allowed us to add a robust degree of reliable job processing without any measurable added cost.