The Small Business Guide to AWS Costs (It’s Cheaper Than You Think)
“AWS will bankrupt us.” I hear this once a week from SMB owners considering automation. They’ve heard the horror stories. But for a well-architected serverless workload, AWS is actually cheap. Let me show you the real numbers.
The Free Tier (Your Secret Weapon)
AWS offers a free tier that resets monthly. For the first 12 months, and then permanently for many services:
Lambda: 1 million function invocations per month. Free. If your automation runs 10,000 times per month (a lot), you’re at 10,000 invocations. You have 990,000 left over. Processing invoices once a day? 30 invocations/month. Essentially free forever.
DynamoDB: 25 GB of storage and 25 write capacity units. Free on on-demand pricing. For most SMBs, a DynamoDB table that stores metadata — conversation history, job status, extracted data — uses less than 1 GB. Well under the free tier.
S3: 5 GB of storage per month. Free. Your invoice PDFs, images, documents — if you’re storing less than 5 GB, it’s free.
API Gateway: 1 million API calls per month. Free. If you have a webhook that receives data, processes it, and returns a response, this is free.
CloudWatch: 10 GB of logs per month. Free. Your Lambda logs, error tracking, everything — free.
Total so far for a typical SMB automation: $0. Most small businesses never leave the free tier for their first automation.
When You Go Beyond Free Tier
Let’s say your automation is wildly successful and you blow past the free tier. Good problem to have.
Lambda: $0.0000002 per invocation after 1M/month. So 10 million invocations per month (unreasonably high for an SMB) = 9 million chargeable invocations × $0.0000002 = $1.80/month.
DynamoDB (on-demand): $0.25 per million write capacity units, $1.25 per million read capacity units. If you’re writing 100,000 items per month and reading them 200,000 times: ~$0.03 in writes + ~$0.25 in reads = $0.28/month.
S3 (storage): $0.023 per GB per month. 100 GB of invoices (a lot) = 100 × $0.023 = $2.30/month.
S3 (requests): $0.0004 per 1,000 PUT requests, $0.0000004 per 1,000 GET requests. 1 million reads per month = $0.0004. Negligible.
API Gateway: $3.50 per million API calls after 1M free. 2 million calls = 1 million chargeable × $3.50 = $3.50/month.
CloudWatch (logs): $0.50 per GB ingested after 10 GB free. 50 GB per month = 40 chargeable × $0.50 = $20/month.
Claude API: This is from Anthropic, not AWS, but it’s part of your bill. $3 per million input tokens, $15 per million output tokens. Processing 500 invoices per month, 100 tokens in + 50 tokens out = $0.53/month.
A Real Example: Invoice Processing at Scale
Let’s say your automation is humming. You process 1,000 invoices per month. Each triggers a Lambda, writes to DynamoDB, reads from your PO database, and logs everything to CloudWatch.
| Service | Usage | Monthly Cost |
|---|---|---|
| Lambda | 1,000 invocations | $0 (free tier) |
| DynamoDB | 1,000 writes + 2,000 reads | ~$0.003 |
| S3 (storage) | 50 GB | $1.15 |
| S3 (requests) | ~1,000 PUTs | negligible |
| API Gateway | 1,000 calls | $0 (free tier) |
| CloudWatch | 5 GB logs | $0 (free tier) |
| Claude API | 1,000 × 150 tokens | $0.45 |
| Total | ~$1.60/month | |
Add a buffer for unexpected costs, monitoring tools, or secrets management: $5/month is realistic.
Compare that to the alternatives:
- Zapier: $100–300/month
- Custom engineering team: $8,000–15,000/month salary (even junior)
- Outsourced data entry: $1,500–3,000/month
AWS is the cheapest option by far.
The Scary Stories (And Why They Don’t Happen)
Story 1: Runaway Lambda
A badly written Lambda loops infinitely, invokes itself 1 million times in an hour, and racks up a $1,000 bill.
Why this doesn’t happen: Set up billing alerts. AWS emails you when your bill hits $10. You kill the Lambda immediately. Cost: $2, not $1,000. Also, well-written Lambda with timeout, limits, and error handling prevents this entirely.
Story 2: Cryptocurrency miner
A hacker compromises your AWS credentials and spins up 100 GPU instances to mine crypto.
Why this doesn’t happen: Use IAM roles. Your Lambda doesn’t have credentials to create EC2 instances. Even if a hacker gets in, they can only do what that specific role allows. Also, billing alerts catch the $10K spike in 5 minutes.
Story 3: DDoS-triggered costs
Your API Gateway gets hammered with traffic. AWS scales automatically. Your bill explodes.
Why this doesn’t happen: AWS DDoS protection is automatic. Also, you can set API Gateway to throttle at a specific request rate, so costs are capped.
Cost Optimization (Actually Free)
- Right-size compute. Lambda defaults to 128 MB memory. If you only need 256 MB, you’re not wasting anything. If you need 3 GB, upgrade — it costs $0.0000017 more per invocation. Proportional.
- Use on-demand DynamoDB. Don’t guess capacity; pay for what you use.
- Delete old data. Old S3 files, old CloudWatch logs — set a retention policy (30 days by default). Don’t keep forever.
- Use Lambda layers for shared code. Reduces package size, slightly reduces cold start time.
- Monitor with CloudWatch dashboards. See what’s actually happening. Turn off verbose logging if you don’t need it.
Budgeting
Set a monthly budget in AWS Billing. Tell it: “Alert me if I’m on track to spend >$50/month.”
AWS will email you if you’re trending toward that limit. For an SMB automation, hitting that limit means something is broken — runaway process, bug, or you’re wildly successful and need to rethink.
Bottom Line
AWS is expensive if you’re running servers 24/7 for a team of 1,000. AWS is cheap if you’re running serverless automation for an SMB.
For a typical invoice processing, document intake, or reporting automation, you’re looking at $2–15/month in infrastructure costs. Add a competent engineer (one-time, $5–10K), and your all-in cost is under $15K to build and under $200/year to run.
That ROI — saving 50+ hours of manual labor every month — is hard to beat.
Stop worrying about AWS costs. Start worrying about whether the automation is working.
What would your automation actually cost?
Plug in your estimated volumes — documents, API calls, storage — and get a real number. Free. 5 minutes.
No spam. Unsubscribe anytime.
Ready to build your automation?
I build cost-optimized serverless automations for SMBs on AWS. Let’s talk numbers.
Book Your Free Discovery Call