Skip to main content
Back to Blog
Cloud Automation

AWS Cost Optimization: How I Keep a Production Platform Under $50/Month

March 8, 202610 min read
AWSCost OptimizationSupabaseVercelLambdaArchitecture

AWS Cost Optimization: How I Keep a Production Platform Under $50/Month

The Nexural ecosystem has 185 database tables, 69 API endpoints, real-time market data, AI-powered features, and a live quality dashboard. My AWS bill is under $50/month.

Here's how.

The Architecture That Saves Money

Principle: use managed services at their free/cheap tiers instead of running your own infrastructure.

Service What It Does Monthly Cost
Vercel (Hobby → Pro) Next.js hosting, edge functions $0-20
Supabase (Free → Pro) PostgreSQL, Auth, Real-time $0-25
AWS S3 Telemetry data, artifacts $0.02
AWS Lambda API proxy, telemetry ingestion $0 (free tier)
AWS API Gateway Lambda HTTP endpoint $0 (free tier)
AWS CloudFront CDN + WAF $0 (free tier)
GitHub Actions CI/CD, scheduled jobs $0 (free for public repos)

Total: ~$25-45/month for a production platform.

The Tricks

1. Supabase Instead of RDS

A Supabase Pro instance is $25/month and includes:

  • PostgreSQL 15 with 8GB storage
  • Row-level security
  • Real-time subscriptions
  • Built-in authentication
  • Auto-backups

An equivalent RDS instance (db.t3.micro) is $15/month but you need to manage backups, auth, and real-time yourself. Add those services and you're at $60+.

2. Lambda for Spiky Workloads

The telemetry ingestion API handles 0 requests most of the time, then bursts during CI runs. Lambda is perfect: $0 when idle, pennies during bursts.

Request pricing: $0.20 per 1M requests
Duration pricing: $0.0000166667 per GB-second

My usage: ~50K requests/month = $0.01

3. S3 Intelligent-Tiering

Telemetry data is hot for 7 days, then cold. S3 Intelligent-Tiering automatically moves objects to cheaper storage:

Frequent Access: $0.023/GB
Infrequent Access: $0.0125/GB (auto after 30 days)
Archive: $0.004/GB (auto after 90 days)

My storage: ~500MB = $0.01/month

4. CloudFront Free Tier

1TB of data transfer and 10M requests per month are free. My portfolio site uses maybe 5GB/month. I get CDN + DDoS protection for $0.

5. GitHub Actions for Scheduled Jobs

Instead of running a cron server, I use GitHub Actions scheduled workflows:

on:
  schedule:
    - cron: '0 */6 * * *'  # Every 6 hours

Free for public repos. Handles telemetry collection, quality snapshots, and health checks.

What I'd Pay For (and When)

Trigger Action New Cost
1,000+ DAU Upgrade Supabase to Team +$75/month
Need Redis Add Upstash Redis +$10/month
Need search Add Typesense Cloud +$25/month
Need monitoring Add Better Stack +$24/month

Scale costs should scale with revenue. If I have 1,000 DAU, I should have revenue to cover $200/month in infrastructure.

The Anti-Pattern: Running K8s for a Small Platform

I've seen solo developers spend $200+/month on a managed Kubernetes cluster for an app that serves 100 users. EKS costs $73/month just for the control plane, before any nodes.

Unless you need container orchestration across 10+ services, you don't need Kubernetes. Vercel + Supabase + targeted Lambda functions handle 99% of solo developer needs at a fraction of the cost.

The Lesson

Cloud cost optimization isn't about finding cheaper instances. It's about choosing the right architecture — one where you pay per-use at the bottom of the cost curve, not a flat rate for idle capacity.

Want to see this in action?

Check out the projects and case studies behind these articles.