StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Infrastructure as a Service
  4. Cloud Storage
  5. Amazon S3 vs Amazon SQS vs Kue

Amazon S3 vs Amazon SQS vs Kue

OverviewDecisionsComparisonAlternatives

Overview

Amazon S3
Amazon S3
Stacks55.1K
Followers40.2K
Votes2.0K
Amazon SQS
Amazon SQS
Stacks2.8K
Followers2.0K
Votes171
Kue
Kue
Stacks51
Followers88
Votes2
GitHub Stars9.5K
Forks871

Amazon S3 vs Amazon SQS vs Kue: What are the differences?

Introduction In this article, we will explore and compare the key differences between Amazon S3, Amazon SQS, and Kue. These are three popular services offered by Amazon Web Services (AWS) with different use cases and functionalities.

  1. Response Storage: Amazon S3 is designed to store and retrieve large amounts of data as objects, providing scalable and durable storage infrastructure. On the other hand, Amazon SQS and Kue are messaging services that focus on the reliable and scalable delivery of data between distributed systems. While Amazon S3 can store and retrieve data, Amazon SQS and Kue allow for the efficient and reliable exchange of messages.

  2. Message Queuing: Amazon SQS and Kue both offer message queuing capabilities, serving as intermediary systems responsible for the reliable and asynchronous transfer of messages between different components of a distributed system. Amazon SQS follows a standard message queue model, where messages are sent and received by applications, and it also supports both standard and FIFO (First-In-First-Out) queues. Kue, on the other hand, is specifically designed to be used with Node.js and focuses on processing jobs instead of general-purpose messaging.

  3. Data Consistency and Availability: Amazon S3 provides strong data consistency, ensuring that once an object is stored, it can be immediately retrieved without conflicts or inconsistencies. It also offers high durability and availability, making it suitable for applications where data integrity and accessibility are key. In contrast, Amazon SQS and Kue focus on eventual consistency and availability, allowing for distributed systems to reliably exchange messages over time without ensuring immediate consistency.

  4. Storage vs Processing: While Amazon S3 primarily focuses on storing and retrieving data, Amazon SQS and Kue focus more on message exchange and processing. With Amazon SQS, applications can decouple senders and receivers, enabling more scalable and fault-tolerant architectures. Kue, on the other hand, provides a powerful job processing system for Node.js applications, allowing for efficient scheduling, parallel processing, and task management.

  5. Message Retention and Dead-Letter Queues: Amazon SQS provides configurable message retention, allowing developers to set a time duration during which messages are retained in the queue. Additionally, it supports dead-letter queues, which are used to capture messages that cannot be processed successfully after a certain number of retries. Kue, on the other hand, does not inherently provide these features and might require custom implementations to achieve similar functionalities.

  6. Pricing Model: When it comes to pricing, Amazon S3 follows a model based on the amount of storage used and data transfer rates. It also offers different storage classes with varying costs to optimize for different access patterns. Amazon SQS and Kue, on the other hand, have separate pricing models based on the number of requests and message delivery attempts, making them more suitable for applications dealing with message exchange and processing.

In summary, Amazon S3 is a scalable storage service, while Amazon SQS and Kue are messaging services with queuing capabilities. Amazon S3 focuses on storing and retrieving data, while Amazon SQS and Kue prioritize reliable message exchange and processing. The key differences lie in their core functionalities, data consistency and availability, storage vs processing capabilities, message retention and dead-letter queues, and the pricing models they follow.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Amazon S3, Amazon SQS, Kue

Meili
Meili

Software engineer at Digital Science

Sep 24, 2020

Needs adviceonZeroMQZeroMQRabbitMQRabbitMQAmazon SQSAmazon SQS

Hi, we are in a ZMQ set up in a push/pull pattern, and we currently start to have more traffic and cases that the service is unavailable or stuck. We want to:

  • Not loose messages in services outages
  • Safely restart service without losing messages (@{ZeroMQ}|tool:1064| seems to need to close the socket in the receiver before restart manually)

Do you have experience with this setup with ZeroMQ? Would you suggest RabbitMQ or Amazon SQS (we are in AWS setup) instead? Something else?

Thank you for your time

500k views500k
Comments
MITHIRIDI
MITHIRIDI

Software Engineer at LightMetrics

May 8, 2020

Needs adviceonAmazon SQSAmazon SQSAmazon MQAmazon MQ

I want to schedule a message. Amazon SQS provides a delay of 15 minutes, but I want it in some hours.

Example: Let's say a Message1 is consumed by a consumer A but somehow it failed inside the consumer. I would want to put it in a queue and retry after 4hrs. Can I do this in Amazon MQ? I have seen in some Amazon MQ videos saying scheduling messages can be done. But, I'm not sure how.

303k views303k
Comments
Mohammad
Mohammad

Aug 30, 2020

Needs adviceonBackblaze B2 Cloud StorageBackblaze B2 Cloud StoragePHPPHPLaravelLaravel

Hello! I have a mobile app with nearly 100k MAU, and I want to add a cloud file storage service to my app.

My app will allow users to store their image, video, and audio files and retrieve them to their device when necessary.

I have already decided to use PHP & Laravel as my backend, and I use Contabo VPS. Now, I need an object storage service for my app, and my options are:

  • Amazon S3 : It sounds to me like the best option but the most expensive. Closest to my users (MENA Region) for other services, I will have to go to Europe. Not sure how important this is?

  • DigitalOcean Spaces : Seems like my best option for price/service, but I am still not sure

  • Wasabi: the best price (6 USD/MONTH/TB) and free bandwidth, but I am not sure if it fits my needs as I want to allow my users to preview audio and video files. They don't recommend their service for streaming videos.

  • Backblaze B2 Cloud Storage: Good price but not sure about them.

  • There is also the self-hosted s3 compatible option, but I am not sure about that.

Any thoughts will be helpful. Also, if you think I should post in a different sub, please tell me.

180k views180k
Comments

Detailed Comparison

Amazon S3
Amazon S3
Amazon SQS
Amazon SQS
Kue
Kue

Amazon Simple Storage Service provides a fully redundant data storage infrastructure for storing and retrieving any amount of data, at any time, from anywhere on the web

Transmit any volume of data, at any level of throughput, without losing messages or requiring other services to be always available. With SQS, you can offload the administrative burden of operating and scaling a highly available messaging cluster, while paying a low price for only what you use.

Kue is a feature rich priority job queue for node.js backed by redis. A key feature of Kue is its clean user-interface for viewing and managing queued, active, failed, and completed jobs.

Write, read, and delete objects containing from 1 byte to 5 terabytes of data each. The number of objects you can store is unlimited.;Each object is stored in a bucket and retrieved via a unique, developer-assigned key.;A bucket can be stored in one of several Regions. You can choose a Region to optimize for latency, minimize costs, or address regulatory requirements. Amazon S3 is currently available in the US Standard, US West (Oregon), US West (Northern California), EU (Ireland), Asia Pacific (Singapore), Asia Pacific (Tokyo), Asia Pacific (Sydney), South America (Sao Paulo), and GovCloud (US) Regions. The US Standard Region automatically routes requests to facilities in Northern Virginia or the Pacific Northwest using network maps.;Objects stored in a Region never leave the Region unless you transfer them out. For example, objects stored in the EU (Ireland) Region never leave the EU.;Authentication mechanisms are provided to ensure that data is kept secure from unauthorized access. Objects can be made private or public, and rights can be granted to specific users.;Options for secure data upload/download and encryption of data at rest are provided for additional data protection.;Uses standards-based REST and SOAP interfaces designed to work with any Internet-development toolkit.;Built to be flexible so that protocol or functional layers can easily be added. The default download protocol is HTTP. A BitTorrent protocol interface is provided to lower costs for high-scale distribution.;Provides functionality to simplify manageability of data through its lifetime. Includes options for segregating data by buckets, monitoring and controlling spend, and automatically archiving data to even lower cost storage options. These options can be easily administered from the Amazon S3 Management Console.;Reliability backed with the Amazon S3 Service Level Agreement.
A queue can be created in any region.;The message payload can contain up to 256KB of text in any format. Each 64KB ‘chunk’ of payload is billed as 1 request. For example, a single API call with a 256KB payload will be billed as four requests.;Messages can be sent, received or deleted in batches of up to 10 messages or 256KB. Batches cost the same amount as single messages, meaning SQS can be even more cost effective for customers that use batching.;Long polling reduces extraneous polling to help you minimize cost while receiving new messages as quickly as possible. When your queue is empty, long-poll requests wait up to 20 seconds for the next message to arrive. Long poll requests cost the same amount as regular requests.;Messages can be retained in queues for up to 14 days.;Messages can be sent and read simultaneously.;Developers can get started with Amazon SQS by using only five APIs: CreateQueue, SendMessage, ReceiveMessage, ChangeMessageVisibility, and DeleteMessage. Additional APIs are available to provide advanced functionality.
-
Statistics
GitHub Stars
-
GitHub Stars
-
GitHub Stars
9.5K
GitHub Forks
-
GitHub Forks
-
GitHub Forks
871
Stacks
55.1K
Stacks
2.8K
Stacks
51
Followers
40.2K
Followers
2.0K
Followers
88
Votes
2.0K
Votes
171
Votes
2
Pros & Cons
Pros
  • 590
    Reliable
  • 492
    Scalable
  • 456
    Cheap
  • 329
    Simple & easy
  • 83
    Many sdks
Cons
  • 7
    Permissions take some time to get right
  • 6
    Requires a credit card
  • 6
    Takes time/work to organize buckets & folders properly
  • 3
    Complex to set up
Pros
  • 62
    Easy to use, reliable
  • 40
    Low cost
  • 28
    Simple
  • 14
    Doesn't need to maintain it
  • 8
    It is Serverless
Cons
  • 2
    Difficult to configure
  • 2
    Proprietary
  • 2
    Has a max message size (currently 256K)
  • 1
    Has a maximum 15 minutes of delayed messages only
Pros
  • 2
    Simple

What are some alternatives to Amazon S3, Amazon SQS, Kue?

Kafka

Kafka

Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.

RabbitMQ

RabbitMQ

RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.

Sidekiq

Sidekiq

Sidekiq uses threads to handle many jobs at the same time in the same process. It does not require Rails but will integrate tightly with Rails 3/4 to make background processing dead simple.

Celery

Celery

Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.

NSQ

NSQ

NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day. It promotes distributed and decentralized topologies without single points of failure, enabling fault tolerance and high availability coupled with a reliable message delivery guarantee. See features & guarantees.

Amazon EBS

Amazon EBS

Amazon EBS volumes are network-attached, and persist independently from the life of an instance. Amazon EBS provides highly available, highly reliable, predictable storage volumes that can be attached to a running Amazon EC2 instance and exposed as a device within the instance. Amazon EBS is particularly suited for applications that require a database, file system, or access to raw block level storage.

ActiveMQ

ActiveMQ

Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License.

Google Cloud Storage

Google Cloud Storage

Google Cloud Storage allows world-wide storing and retrieval of any amount of data and at any time. It provides a simple programming interface which enables developers to take advantage of Google's own reliable and fast networking infrastructure to perform data operations in a secure and cost effective manner. If expansion needs arise, developers can benefit from the scalability provided by Google's infrastructure.

Beanstalkd

Beanstalkd

Beanstalks's interface is generic, but was originally designed for reducing the latency of page views in high-volume web applications by running time-consuming tasks asynchronously.

ZeroMQ

ZeroMQ

The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase