An API for my app
I need a backend API that reads and writes a database.
My stack for this
- 01Lambda function URLs
Start here. Free front door, one function per concern.
- 02Neon (serverless Postgres)
Postgres over HTTP, no VPC or proxy needed.
- 03Lambda Web Functions
Once it's in your region, move HTTP logic to one Express app with a shared connection pool.
- 04Cloudflare Workers
In front, if users are global or traffic is huge (auth, rate limits, caching).
Don't
- GraphQL and AppSync
GraphQL turns your schema into a second product to maintain, and almost no app benefits from it. Plain HTTP endpoints on function URLs do the same job with nothing extra to keep in sync.
Instead: Lambda function URLs
- API Gateway
Useful, just not on day one. A function URL already gives you HTTPS, IAM auth, CORS and streaming with nothing else to configure. API Gateway adds routes, stages, deployments and integrations to keep in sync with your code, and a 29–30 second request timeout by default (a function URL allows 15 minutes). Add it when you need what only it does: per-customer API keys and usage plans, request validation, WAF on the endpoint, or writing straight into SQS. Function URLs use the same event format as HTTP APIs, so adding it later changes no code.
Instead: Lambda function URLs
The picks, in brief
What each one is, my verdict, and what it costs. Every name opens the full entry: when to use it and when not, the gotchas with their fixes, provisioning and alternatives.
My favourite way to put Lambda on the internet. Every MVP starts here.
Pricing: Free. You pay only for the Lambda invocation.
My go-to Postgres. Scales to zero, branches like git, and talks HTTP so Lambda needs no VPC or proxy.
Pricing: Launch plan $0.106 per compute-unit hour, Scale $0.222; storage $0.35/GB-month; no minimum. Available in Sydney.
A real Node.js web server on Lambda, billed on CPU used, 64 to 128 requests per environment. The future of HTTP business logic on AWS. Not in Sydney yet.
Pricing: $0.30 per million requests + $0.0000279955 per active vCPU-second + $0.0000037065 per GB-second of memory consumed while the environment lives (Sydney price-list rates; not launched there yet). Free tier: not stated.
The edge primitive. It sits between your users and your real backend, and it's very, very good at that.
Pricing: $5 a month per account, including 10M requests and 30M CPU-ms. Then $0.30 per million requests and $0.02 per million CPU-ms. Billed on CPU time only: waiting is free. No egress charges.
Where they sit
The layers of the stack this job touches, with every tool named on this page.
Edge
Between your users and your backend.
Compute
Where business logic runs.
APIs, queues and events
How requests and events move.
Data
Databases, migrations and the data lake.
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.