fakecloud vs ElasticMQ

How fakecloud compares to ElasticMQ. Both provide local SQS; fakecloud adds SNS fan-out, Lambda event source mappings, and 21 other AWS services.

ElasticMQ is a message queue server with an Amazon SQS-compatible interface. Scala-based, focused, battle-tested. Good at what it does.

fakecloud's SQS is one of 23 services and ties into the rest (SNS fan-out, Lambda event source mappings, DLQ to other services, IAM policy enforcement).

When to pick ElasticMQ

When to pick fakecloud

Feature-level comparison

fakecloudElasticMQ
SQS operations23Full SQS API
FIFO queuesYesYes
DLQYesYes
Long pollingYesYes
SNS -> SQS fan-outYesNo (no SNS service)
SQS -> Lambda event source mappingYes (Lambda runs for real)No (no Lambda service)
IAM policy enforcement on SQSYes (opt-in --iam strict)No
Other AWS services22 moreNone
RuntimeRust binary (~19 MB)Scala/JVM
Startup~500ms~2-3s (JVM)

Same SQS call works against both

sqs = boto3.client('sqs',
    endpoint_url='http://localhost:4566',  # fakecloud
    # OR 'http://localhost:9324' for ElasticMQ default port
    ...)

Both implement the SQS wire protocol.