The pitch is clean: you pay only for what you use. No servers idling at 3 a.m., burning cash. No capacity planning. Just functions that appear when needed and disappear when done. Serverless feels like the ideal everyone was waiting for — and sometimes it actually is. Then the bill shows up.
A developer I know — an experienced guy, not some junior making rookie mistakes — built what looked like a simple proof of concept. AWS Bedrock knowledge base, OpenSearch Serverless backend. Nothing fancy. A few LLM queries, maybe 2 GB of PDFs uploaded for testing. He was expecting maybe twenty or thirty bucks. The invoice came back at over $200. He spent an hour just staring at the line items, trying to figure out what happened. No error, no hack. Just the way it works.