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. Utilities
  3. Background Jobs
  4. Message Queue
  5. AWS Lambda vs ZeroMQ

AWS Lambda vs ZeroMQ

OverviewDecisionsComparisonAlternatives

Overview

ZeroMQ
ZeroMQ
Stacks258
Followers586
Votes71
GitHub Stars10.6K
Forks2.5K
AWS Lambda
AWS Lambda
Stacks26.0K
Followers18.8K
Votes432

AWS Lambda vs ZeroMQ: What are the differences?

Introduction

AWS Lambda and ZeroMQ are both popular technologies used in the field of cloud computing and messaging respectively. While they serve different purposes, they have some key differences in terms of functionality and usage.

  1. Integration with Cloud Infrastructure: AWS Lambda is a serverless compute service provided by Amazon Web Services (AWS), which allows developers to run code without provisioning or managing servers. It is tightly integrated with other AWS services such as Amazon S3, DynamoDB, and API Gateway, making it easier to build serverless applications. On the other hand, ZeroMQ is a lightweight messaging library that enables developers to design and implement distributed systems. It is not tied to any specific cloud infrastructure and can be used in various programming languages and environments.

  2. Event-driven vs Message-based: AWS Lambda follows an event-driven architecture, where the code is triggered by specific events such as file uploads, database changes, or incoming HTTP requests. It responds to events by executing a function in a serverless environment. ZeroMQ, on the other hand, is message-based and relies on the sending and receiving of messages between various participants in a distributed system. It provides a communication mechanism for building complex messaging patterns.

  3. Scalability and Autoscaling: AWS Lambda is designed to scale automatically in response to incoming events or requests. It dynamically provisions computing resources to handle the workload and scales down when the demand decreases. ZeroMQ can also scale horizontally by adding more participants to distribute the workload, but it does not provide built-in autoscaling capabilities like AWS Lambda. Scaling in ZeroMQ requires custom implementation based on the specific use case.

  4. Managed Service vs Library: AWS Lambda is a managed service provided by AWS, which means that the underlying infrastructure, server management, patching, and security are handled by AWS. Developers only need to focus on writing the code and configuring the necessary triggers. ZeroMQ, on the other hand, is a library that needs to be integrated into the application code. Developers are responsible for managing the infrastructure and security aspects of the distributed system.

  5. Billing Model: AWS Lambda follows a pay-per-use billing model, where developers are charged based on the number of requests, duration, and memory consumption of the functions. This allows for cost optimization as resources are allocated only when needed. ZeroMQ is an open-source library and does not have specific billing associated with its usage. However, developers need to consider the cost of infrastructure, maintenance, and support when using ZeroMQ in a production environment.

  6. Vendor Lock-in: AWS Lambda is a proprietary service provided by Amazon AWS, which may result in vendor lock-in. Once an application is built using Lambda, it becomes dependent on the AWS ecosystem and may face challenges if the decision to switch to a different cloud provider arises. ZeroMQ, being an open-source library, provides more flexibility and allows for portability across different environments and providers.

In summary, AWS Lambda is a managed serverless compute service tightly integrated with AWS cloud infrastructure, while ZeroMQ is a lightweight messaging library for building distributed systems. The key differences include integration with cloud infrastructure, event-driven vs message-based architecture, scalability and autoscaling capabilities, managed service vs library, billing model, and vendor lock-in.

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 ZeroMQ, AWS Lambda

Tim
Tim

CTO at Checkly Inc.

Sep 18, 2019

Needs adviceonHerokuHerokuAWS LambdaAWS Lambda

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

357k views357k
Comments
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
Mark
Mark

Nov 2, 2020

Needs adviceonMicrosoft AzureMicrosoft Azure

Need advice on what platform, systems and tools to use.

Evaluating whether to start a new digital business for which we will need to build a website that handles all traffic. Website only right now. May add smartphone apps later. No desktop app will ever be added. Website to serve various countries and languages. B2B and B2C type customers. Need to handle heavy traffic, be low cost, and scale well.

We are open to either build it on AWS or on Microsoft Azure.

Apologies if I'm leaving out some info. My first post. :) Thanks in advance!

133k views133k
Comments

Detailed Comparison

ZeroMQ
ZeroMQ
AWS Lambda
AWS Lambda

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.

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.

Connect your code in any language, on any platform.;Carries messages across inproc, IPC, TCP, TPIC, multicast.;Smart patterns like pub-sub, push-pull, and router-dealer.;High-speed asynchronous I/O engines, in a tiny library.;Backed by a large and active open source community.;Supports every modern language and platform.;Build any architecture: centralized, distributed, small, or large.;Free software with full commercial support.
Extend other AWS services with custom logic;Build custom back-end services;Completely Automated Administration;Built-in Fault Tolerance;Automatic Scaling;Integrated Security Model;Bring Your Own Code;Pay Per Use;Flexible Resource Model
Statistics
GitHub Stars
10.6K
GitHub Stars
-
GitHub Forks
2.5K
GitHub Forks
-
Stacks
258
Stacks
26.0K
Followers
586
Followers
18.8K
Votes
71
Votes
432
Pros & Cons
Pros
  • 23
    Fast
  • 20
    Lightweight
  • 11
    Transport agnostic
  • 7
    No broker required
  • 4
    Low level APIs are in C
Cons
  • 5
    No message durability
  • 3
    Not a very reliable system - message delivery wise
  • 1
    M x N problem with M producers and N consumers
Pros
  • 129
    No infrastructure
  • 83
    Cheap
  • 70
    Quick
  • 59
    Stateless
  • 47
    No deploy, no server, great sleep
Cons
  • 7
    Cant execute ruby or go
  • 3
    Compute time limited
  • 1
    Can't execute PHP w/o significant effort

What are some alternatives to ZeroMQ, AWS Lambda?

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.

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.

Amazon SQS

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.

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.

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.

Apache NiFi

Apache NiFi

An easy to use, powerful, and reliable system to process and distribute data. It supports powerful and scalable directed graphs of data routing, transformation, and system mediation logic.

Azure Functions

Azure Functions

Azure Functions is an event driven, compute-on-demand experience that extends the existing Azure application platform with capabilities to implement code triggered by events occurring in virtually any Azure or 3rd party service as well as on-premises systems.

Google Cloud Run

Google Cloud Run

A managed compute platform that enables you to run stateless containers that are invocable via HTTP requests. It's serverless by abstracting away all infrastructure management.

Gearman

Gearman

Gearman allows you to do work in parallel, to load balance processing, and to call functions between languages. It can be used in a variety of applications, from high-availability web sites to the transport of database replication events.

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