I got a call from a new client a while back. They had a small, but important, WordPress blog that another dev had put on a “modern serverless stack.” They were sold on infinite scalability and paying only for what you use. Then they got the first bill. It was three times what they used to pay for a simple managed hosting plan, and they were staring at a dozen cryptic line items from Amazon Web Services. They had no idea what the real AWS Lambda hosting cost was supposed to be, or why theirs was so high.
This happens a lot. Someone hears “serverless” and thinks “cheap.” And while it can be, the cost isn’t in the place most people look. It’s a classic case of focusing on the wrong problem.
The Two Parts of an AWS Bill Nobody Explains
When you host a WordPress site on Lambda, your bill has two kinds of costs: usage-based and fixed. People get obsessed with the usage-based part—the actual cost of the Lambda function running your PHP code, the API Gateway requests, the CloudFront bandwidth. All that stuff scales with traffic. More visitors, higher cost. Makes sense.
My first thought, honestly, was to dig into their Lambda configuration. I figured the previous dev had probably overallocated memory or had some slow code that was racking up execution time. A classic rookie mistake. We could probably optimize a few functions, trim the memory from 1024MB down to 512MB, and save a few bucks. And we did. But it barely moved the needle on the total bill. Here’s the kicker: the real issue wasn’t the “serverless” part at all.
Your Real AWS Lambda Hosting Cost Is the Database
The biggest line item on their bill, and on almost every small serverless WordPress bill, is RDS—the Relational Database Service. It’s the managed MySQL database. And unlike Lambda, it’s not serverless. It’s a server. It’s on 24/7, whether you get one visitor or one million. A small db.t3.micro instance, which is the bare minimum you’d want for a production site, is going to run you about $15-$20 a month. Period.
That one fixed cost is often more than an entire basic managed hosting plan. I’ve seen a lot of developers try to make sense of these bills, and this is the part they always miss. I was digging into this for the client and came across a super-detailed breakdown over at carlalexander.ca that confirmed my suspicions with real-world numbers.
# A simplified, typical AWS bill for a small blog:
# --- USAGE-BASED (This part scales with traffic) ---
# You get a million free Lambda requests, so this is often $0 at first.
AWS Lambda Compute: $3.50
API Gateway Requests: $1.00
CloudFront Data Transfer: $2.75
# --- FIXED (You pay this no matter what) ---
# This is the killer right here.
RDS Database Instance: $17.88
Route53 Hosted Zone: $0.50
S3 Storage: $0.20
# -------------------------------------------------
# APPROXIMATE MONTHLY TOTAL: ~$25.83
So, What’s the Point?
Is hosting on AWS Lambda a bad idea? Not at all. But you have to use it for the right reasons. It’s not about saving money on a single, low-traffic site. It just won’t happen. The math doesn’t work. It starts making sense when:
- You have a high-traffic site where a $100/month managed plan is your alternative. Suddenly that $18 RDS instance looks pretty cheap.
- You’re an agency or a developer managing multiple sites. You can run dozens of small client sites off a single, slightly larger RDS instance. You split that fixed cost, and now each site’s baseline cost is just a few dollars. That’s where you win.
The promise of serverless is scalability and not having to manage servers. Not that it’s magically free. The cost is just hiding in a different place than you’re used to looking.
Look, this stuff gets complicated fast. If you’re tired of debugging someone else’s mess and just want your site to work, drop my team a line. We’ve probably seen it before.
The real question isn’t “is Lambda cheap,” but “does this architecture solve my actual problem?” For that client, the answer was no. We moved them back to a quality managed host and cut their bill in half. Total nightmare averted.
Leave a Reply