Amazon S3 vs Amazon SQS vs AWS Lambda

Need advice about which tool to choose?Ask the StackShare community!

Amazon S3

54K
40.2K
+ 1
2K
Amazon SQS

2.3K
2K
+ 1
171
AWS Lambda

24.4K
18.8K
+ 1
432

AWS Lambda vs Amazon S3 vs Amazon SQS: What are the differences?

Introduction

In this comparison, we will highlight the key differences between AWS Lambda, Amazon S3, and Amazon SQS.

  1. Functionality: AWS Lambda is a serverless computing service that allows you to run code without provisioning or managing servers. Amazon S3 is a scalable object storage service that allows you to store and retrieve data. Amazon SQS is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications.

  2. Use Cases: AWS Lambda is often used for handling event-driven tasks, data processing, real-time file processing, and orchestrating workflows. Amazon S3 is ideal for storing large amounts of data, hosting static websites, securing data backups, and enabling content delivery. Amazon SQS is commonly utilized for implementing distributed systems, decoupling application components, processing tasks asynchronously, and scaling microservices.

  3. Execution: AWS Lambda executes code in response to triggers such as changes in data, HTTP requests, or time-based schedules. Amazon S3 acts as a central repository for data storage and retrieval. Amazon SQS facilitates communication between different components by queuing and processing messages asynchronously.

  4. Billing: AWS Lambda is billed based on the number of requests and the duration of code execution. Amazon S3 charges based on the amount of data stored, data transfer, and requests made. Amazon SQS pricing is based on the number of messages processed and the data volume transferred.

  5. Scalability: AWS Lambda automatically scales based on incoming requests, ensuring high availability and performance. Amazon S3 can handle massive amounts of data and traffic without manual intervention. Amazon SQS is designed to scale horizontally to accommodate varying workloads efficiently.

  6. Integration: AWS Lambda can be integrated with various AWS services, third-party APIs, and custom applications. Amazon S3 seamlessly integrates with AWS services, content delivery networks, and data analytics platforms. Amazon SQS supports integration with different AWS services, message processing systems, and microservices architecture.

In Summary, the key differences between AWS Lambda, Amazon S3, and Amazon SQS lie in their functionality, use cases, execution methods, billing structures, scalability features, and integration capabilities.

Advice on Amazon S3, Amazon SQS, and AWS Lambda
MITHIRIDI PRASANTH
Software Engineer at LightMetrics · | 4 upvotes · 301.3K views
Needs advice
on
Amazon MQAmazon MQ
and
Amazon SQSAmazon SQS
in

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.

See more
Replies (1)
Andres Paredes
Lead Senior Software Engineer at InTouch Technology · | 1 upvotes · 228.8K views
Recommends
on
Amazon SQSAmazon SQS

Mithiridi, I believe you are talking about two different things. 1. If you need to process messages with delays of more 15m or at specific times, it's not a good idea to use queues, independently of tool SQM, Rabbit or Amazon MQ. you should considerer another approach using a scheduled job. 2. For dead queues and policy retries RabbitMQ, for example, doesn't support your use case. https://medium.com/@kiennguyen88/rabbitmq-delay-retry-schedule-with-dead-letter-exchange-31fb25a440fc I'm not sure if that is possible SNS/SQS support, they have a maximum delay for delivery (maxDelayTarget) in seconds but it's not clear the number. You can check this out: https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html

See more
Decisions about Amazon S3, Amazon SQS, and AWS Lambda
Gabriel Pa

We offer our customer HIPAA compliant storage. After analyzing the market, we decided to go with Google Storage. The Nodejs API is ok, still not ES6 and can be very confusing to use. For each new customer, we created a different bucket so they can have individual data and not have to worry about data loss. After 1000+ customers we started seeing many problems with the creation of new buckets, with saving or retrieving a new file. Many false positive: the Promise returned ok, but in reality, it failed.

That's why we switched to S3 that just works.

See more
Oleksandr Fedotov
Senior Software Engineer at joyn · | 2 upvotes · 27.2K views

At Joyn we use AWS infrastructures extensively, so we need a wide range of different tools starting from file storage until the health monitoring of our running services. For Smart TV stack we use S3 to mostly store static files (like scripts, styles and html), CloudFront to keep good response times using the cache, Lambda to recognize the TV platform and serve appropriate bundle (except Samsung Tizen platform where application is packaged), CloudWatch to receive alerts in case we have any issues inside of our lambda function.

See more

When adding a new feature to Checkly rearchitecting some older piece, I tend to pick Heroku for rolling it out. But not always, because sometimes I pick AWS Lambda . The short story:

  • Developer Experience trumps everything.
  • AWS Lambda is cheap. Up to a limit though. This impact not only your wallet.
  • If you need geographic spread, AWS is lonely at the top.
The setup

Recently, I was doing a brainstorm at a startup here in Berlin on the future of their infrastructure. They were ready to move on from their initial, almost 100% Ec2 + Chef based setup. Everything was on the table. But we crossed out a lot quite quickly:

  • Pure, uncut, self hosted Kubernetes — way too much complexity
  • Managed Kubernetes in various flavors — still too much complexity
  • Zeit — Maybe, but no Docker support
  • Elastic Beanstalk — Maybe, bit old but does the job
  • Heroku
  • Lambda

It became clear a mix of PaaS and FaaS was the way to go. What a surprise! That is exactly what I use for Checkly! But when do you pick which model?

I chopped that question up into the following categories:

  • Developer Experience / DX 🤓
  • Ops Experience / OX 🐂 (?)
  • Cost 💵
  • Lock in 🔐

Read the full post linked below for all details

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Amazon S3
Pros of Amazon SQS
Pros of AWS Lambda
  • 590
    Reliable
  • 492
    Scalable
  • 456
    Cheap
  • 329
    Simple & easy
  • 83
    Many sdks
  • 30
    Logical
  • 13
    Easy Setup
  • 11
    REST API
  • 11
    1000+ POPs
  • 6
    Secure
  • 4
    Easy
  • 4
    Plug and play
  • 3
    Web UI for uploading files
  • 2
    Faster on response
  • 2
    Flexible
  • 2
    GDPR ready
  • 1
    Easy to use
  • 1
    Plug-gable
  • 1
    Easy integration with CloudFront
  • 62
    Easy to use, reliable
  • 40
    Low cost
  • 28
    Simple
  • 14
    Doesn't need to maintain it
  • 8
    It is Serverless
  • 4
    Has a max message size (currently 256K)
  • 3
    Triggers Lambda
  • 3
    Easy to configure with Terraform
  • 3
    Delayed delivery upto 15 mins only
  • 3
    Delayed delivery upto 12 hours
  • 1
    JMS compliant
  • 1
    Support for retry and dead letter queue
  • 1
    D
  • 129
    No infrastructure
  • 83
    Cheap
  • 70
    Quick
  • 59
    Stateless
  • 47
    No deploy, no server, great sleep
  • 12
    AWS Lambda went down taking many sites with it
  • 6
    Event Driven Governance
  • 6
    Extensive API
  • 6
    Auto scale and cost effective
  • 6
    Easy to deploy
  • 5
    VPC Support
  • 3
    Integrated with various AWS services

Sign up to add or upvote prosMake informed product decisions

Cons of Amazon S3
Cons of Amazon SQS
Cons of AWS Lambda
  • 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
  • 2
    Has a max message size (currently 256K)
  • 2
    Proprietary
  • 2
    Difficult to configure
  • 1
    Has a maximum 15 minutes of delayed messages only
  • 7
    Cant execute ruby or go
  • 3
    Compute time limited
  • 1
    Can't execute PHP w/o significant effort

Sign up to add or upvote consMake informed product decisions

What is Amazon S3?

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

What is Amazon SQS?

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.

What is AWS Lambda?

AWS Lambda is a compute service that runs your code in response to events and automatically manages the underlying compute resources for you. You can use AWS Lambda to extend other AWS services with custom logic, or create your own back-end services that operate at AWS scale, performance, and security.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Amazon S3?
What companies use Amazon SQS?
What companies use AWS Lambda?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Amazon S3?
What tools integrate with Amazon SQS?
What tools integrate with AWS Lambda?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to Amazon S3, Amazon SQS, and AWS Lambda?
Amazon Glacier
In order to keep costs low, Amazon Glacier is optimized for data that is infrequently accessed and for which retrieval times of several hours are suitable. With Amazon Glacier, customers can reliably store large or small amounts of data for as little as $0.01 per gigabyte per month, a significant savings compared to on-premises solutions.
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.
Amazon EC2
It is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.
Google Drive
Keep photos, stories, designs, drawings, recordings, videos, and more. Your first 15 GB of storage are free with a Google Account. Your files in Drive can be reached from any smartphone, tablet, or computer.
Microsoft Azure
Azure is an open and flexible cloud platform that enables you to quickly build, deploy and manage applications across a global network of Microsoft-managed datacenters. You can build applications using any language, tool or framework. And you can integrate your public cloud applications with your existing IT environment.
See all alternatives