Layer 03 of 14 · 12 tools

APIs, queues and events

How requests and events move.

My default

4 tools in this layer.

  • The cheapest way to land a stream of records in S3. No servers, no consumers to write, and about $0.04/GB in Sydney.

    Pricing: Sydney, Direct PUT: $0.037/GB ingested (first 500 TB), billed per record in 5 KB steps. JSON to Parquet conversion $0.023/GB. Dynamic partitioning $0.025/GB plus per-object fees (avoidable). Then normal S3 storage.

  • The event bus and scheduler I use all the time.

    Pricing: Classic bus: AWS management events are ingested free; custom events $1 per million (billed in 64 KB chunks). Scheduler: 14 million invocations a month free, then $1.20 per million in Sydney. Pipes: $0.40 per million requests. The new Custom Event Bus (September 2026) bills by data instead: in Sydney $0.19 per GB ingested (first 5 TB) and $0.058 per GB delivered to each subscriber.

  • My default Amazon SQS

    The queue in front of Lambda. Natural back-pressure, nearly free when batched.

    Pricing: Sydney: $0.40 per million requests (Standard), $0.50 (FIFO). A request carries up to 10 messages, so batching cuts the bill tenfold: 50M messages ≈ $6 batched, $60 unbatched.

  • My favourite way to put Lambda on the internet. Every MVP starts here.

    Pricing: Free. You pay only for the Lambda invocation.

Use when it fits

4 tools in this layer.

  • Use when it fits Amazon Kinesis

    For genuinely huge streams. It gets expensive fast.

    Pricing: Sydney, on-demand: $0.049 per stream-hour (about $36 a month per stream, even idle), $0.098 per GB written, $0.049 per GB read. Provisioned: $0.0184 per shard-hour plus $0.0195 per million 25 KB put units. Extended retention and enhanced fan-out cost extra.

  • Use when it fits Amazon SNS

    Fan-out from one publisher to many subscribers. Not my ingestion path at high volume.

    Pricing: Sydney: first 1M publishes a month free, then $0.50 per million (each 64 KB of payload counts as one). Deliveries to SQS and Lambda cost nothing; HTTPS deliveries $0.60 per million, email $2 per 100,000. Payload-based filtering $0.11/GB scanned; attribute-based filtering is free.

  • Use when it fits API Gateway

    Useful in a lot of cases, just not by default. Start on a function URL and add API Gateway the day you need what only it does.

    Pricing: Sydney: HTTP APIs $1.29 per million requests, REST APIs $3.50 per million, WebSocket messages $1.30 per million plus $0.325 per million connection-minutes.

  • Use when it fits Proposed AWS IoT Core

    The cheapest AWS front door for device data, when the devices speak MQTT.

    Pricing: Sydney: $0.096 per million connection-minutes, $1.20 per million messages (metered in 5 KB steps), $0.18 per million rules triggered plus $0.18 per million actions. Basic Ingest messages carry no messaging charge. In my IoT example (5,000 devices, one message a minute), IoT Core → SQS → batched Lambda → Postgres ≈ $215–230 a month vs about $1,014–1,109 for API Gateway REST → SNS → Lambda.

Watching

One tool in this layer.

  • Watching Proposed Lambda durable functions

    Per-step retries in plain code, inside Lambda. A candidate fix for hand-tuned SQS retry pain.

    Pricing: Example: 1M runs a month of receive → enrich via a flaky API → write Postgres → notify ≈ $47, vs ~$10 for SQS + one Lambda (where a failure reruns every step) and ~$110 for Step Functions Standard. Sydney rates: $8.70 per million durable operations (each start, completed step, wait and step retry), $0.28 per GB written, $0.17 per GB-month retained, plus normal Lambda requests and compute, replays included.

Skip

One tool in this layer.

  • Skip Proposed Cloudflare Queues

    Fine when producer and consumer are both Workers. Inside AWS, SQS wins.

    Pricing: $0.40 per million operations (each write, read and delete; about 3 per message), billed per message so batching saves nothing. 50M messages ≈ $60 vs about $6 on SQS batched. Workers Paid includes 1M operations a month; the Free plan gets 10,000 a day.

    Instead: SQS: FIFO, IAM and batched Lambda consumers, inside AWS where the work is.

Never

2 tools in this layer.

  • Over-engineered. I've never seen the need in production.

    Pricing: Standard workflows: $25 per million state transitions. 1M four-step runs a month ≈ $110. The first 4,000 transitions a month are free, and every retry is billed as another transition. Express workflows (Sydney): $1 per million requests plus duration from $0.00001667 per GB-second.

    Instead: Plain code. SQS for simple async work; Lambda durable functions for multi-step jobs.

  • Over-engineering. Schema maintenance isn't worth it; plain web APIs are enough.

    Pricing: Sydney, GraphQL APIs: $4 per million queries and mutations, $2 per million real-time updates, $0.08 per million connection-minutes. AppSync Events: $1 per million operations (publish, delivery, connect, subscribe), $0.08 per million connection-minutes. Caching is an hourly instance on top (from $0.044 an hour).

    Instead: Plain HTTP APIs on Lambda function URLs, and Durable Objects for real-time.

Where they're used

The jobs that pick or avoid a tool from this layer.

  1. 01 An API for my app I need a backend API that reads and writes a database. My picks: Lambda function URLs, Neon (serverless Postgres), Lambda Web Functions, Cloudflare Workers
  2. 03 Something live that many people watch at once Live auctions, collaborative editing, polls, chat rooms, game lobbies. My picks: Cloudflare Workers, Cloudflare Durable Objects, Neon (serverless Postgres), Amazon S3
  3. 04 A traffic spike I can see coming A flash sale, ticket drop or launch where thousands hit at once. My picks: Cloudflare Workers, Cloudflare Durable Objects, AWS Lambda, Stripe
  4. 06 Background jobs and retries Work that runs after the request, with retries. My picks: Amazon SQS, AWS Lambda, Amazon EventBridge, Lambda durable functions
  5. 07 Event-driven plumbing Moving events between services, buffering work, fanning out and streaming records into the lake. My picks: Amazon EventBridge, Amazon SQS, Amazon SNS, Amazon Data Firehose, Amazon Kinesis
  6. 08 A job that runs for hours A nightly import, report or migration longer than 15 minutes. My picks: Fargate scheduled tasks, Amazon EventBridge
  7. 09 Device and IoT data Thousands of devices sending readings that end up in reports. My picks: AWS IoT Core, Amazon SQS, Neon (serverless Postgres)
  8. 13 A data lake Analytics over everything the apps produce, cheaply, without a warehouse to run. My picks: Amazon S3, Amazon Data Firehose, S3 + Glue + Athena, DuckDB, Aurora PostgreSQL
  9. 16 Logs without a shocking bill Observability that doesn't cost more than the app. My picks: Amazon CloudWatch, Amazon Data Firehose, DuckDB, Cloudflare Workers

Want this stack in your AWS account?

Cloudless Labs is a Sydney consultancy. We migrate on-premises systems to AWS, build serverless apps on this stack, and coach teams to ship with Claude Code and Codex.

Contact Us

For general inquiries, please contact us at:

For e-learning capabilities, please contact: