The Real Cost of Serverless Nobody Talks About
Everyone says serverless saves money. I have watched three companies spend more on Lambda than they ever did on EC2.
The marketing pitch is clean. No servers to manage. Infinite scale. Pay only for what you use. That last part is technically true. It just leaves out what you actually end up using.
The Promise Versus The Invoice
Serverless was supposed to eliminate infrastructure costs. No more paying for idle capacity. No more midnight pages about disk space.
Instead I pay for things I did not know could cost money.
Debugging a timeout costs me $47 in CloudWatch logs. The logs are not optional. Without them I am flying blind. So I pay.
Vendor consultants bill $350 an hour to explain why my function keeps cold-starting. I could have hired a junior engineer for a month with that invoice.
Refactoring code to fit within Lambda's constraints ate two sprints. The serverless-optimized version runs great. It also took twice as long to write as the version that would have run fine on a cheap VPS.
The Tax You Never See Coming
Cold starts kill user experience. I have optimized runtimes, tweaked memory allocation, implemented warming functions. Still happens.
Observability costs more than compute. X-Ray, CloudWatch, third-party APM tools. I need all of them. None of them are cheap.
Every new developer spends three weeks learning the platform. Not coding. Just learning how to deploy, debug, and trace execution across fourteen different Lambda functions. That is three weeks of salary for zero output.
The Tradeoff
Serverless works. It scales. It handles traffic spikes I could never provision for manually.
I just wish someone had told me the real costs upfront. They are not on the invoice. They are in the hours, the complexity, the learning curve.
Maybe it is worth it. Depends on what you are building. And whether your finance team understands why the AWS bill keeps climbing while your server count stays at zero.