[실제 경험] 내 인디 SaaS 구독 감사: 연간 $ 800를 삭감하는 5가지 대안

작성자

카테고리:

← 피드로
DEV Community · スシロー · 2026-07-02 개발(SW)

スシロー

Auditing My Indie SaaS Subscriptions: 5 Alternatives That Cut $800/Year

TL;DR

Fixed costs for indie dev projects balloon through “subscriptions you signed up for and forgot.” I switched 5 services to free tiers or self-hosted alternatives, cutting ¥10,000/month — ¥120,000/year (roughly $800). The short version:

Before Monthly After Monthly Annual Savings Heroku Hobby (2 dynos + DB) ¥2,800 Fly.io / Railway free tier ¥0 ¥33,600 Vercel Pro ¥3,000 Cloudflare Pages ¥0 ¥36,000 Datadog (1 host) ¥2,300 Grafana Cloud Free ¥0 ¥27,600 Mailgun Foundation ¥1,400 Resend free tier ¥0 ¥16,800 Algolia Build overage ¥500 Meilisearch (self-host) ¥0 ¥6,000

At indie-project traffic levels, you’re probably using less than 10% of what paid plans offer. The first step is auditing your usage and checking whether your actual numbers fit inside a free tier.

The Approach: Measure First, Decide Second

Cut decisions should be based on real data, not gut feeling. Start with a billing audit.

# Export each service's plan and recent usage to a spreadsheet
# Example: check request count for the last 30 days from nginx access log
awk '{print $4}' access.log | grep -c "$(date +%d/%b/%Y)"
# → A few thousand requests/day fits comfortably inside almost every SaaS free tier

Enter fullscreen mode Exit fullscreen mode

The key is looking at actual traffic, not peak spikes. Most indie projects fit well within Vercel/Cloudflare free tiers (100k requests/month to unlimited bandwidth).

Step-by-Step Migration

1. Hosting: Heroku → Fly.io

# Deploy to fly.io — existing Dockerfile or buildpacks work as-is
curl -L https://fly.io/install.sh | sh
fly launch            # interactively generates fly.toml
fly deploy
fly scale count 1     # 1 instance is enough for indie projects
fly postgres create   # small instance, effectively free

Enter fullscreen mode Exit fullscreen mode

The key to cost control: lock to fly scale count 1 and the minimum VM (shared-cpu-1x).

2. Frontend: Vercel Pro → Cloudflare Pages

Unlimited bandwidth, generous build limits, and free equivalents of Pro features (Analytics, etc.) that most indie projects actually need.

npm i -g wrangler
wrangler pages deploy ./dist --project-name my-app

Enter fullscreen mode Exit fullscreen mode

3. Monitoring: Datadog → Grafana Cloud Free

The free plan covers 10k metric series, 50GB logs, and 14-day retention. Works with Prometheus remote_write out of the box.

# prometheus.yml — forward to Grafana Cloud via remote_write
remote_write:
  - url: https://prometheus-prod-XX.grafana.net/api/prom/push
    basic_auth:
      username: "123456"
      password: "${GRAFANA_CLOUD_API_KEY}"

Enter fullscreen mode Exit fullscreen mode

4. Email: Mailgun → Resend

Free tier: 3,000 emails/month, 100/day. More than enough for transactional email in a typical indie project.

curl -X POST 'https://api.resend.com/emails' 
  -H "Authorization: Bearer $RESEND_API_KEY" 
  -H 'Content-Type: application/json' 
  -d '{
    "from": "[email protected]",
    "to": "[email protected]",
    "subject": "Welcome",
    "html": "<p>Thanks for signing up!</p>"
  }'

Enter fullscreen mode Exit fullscreen mode

5. Full-Text Search: Algolia → Meilisearch (self-hosted)

Run it alongside your existing VPS workload and the marginal cost is zero.

docker run -d --name meili -p 7700:7700 
  -e MEILI_MASTER_KEY="$MEILI_KEY" 
  -v $PWD/meili_data:/meili_data 
  getmeili/meilisearch:v1.10

# Index your data
curl -X POST 'http://localhost:7700/indexes/posts/documents' 
  -H "Authorization: Bearer $MEILI_KEY" 
  -H 'Content-Type: application/json' 
  --data-binary @posts.json

Enter fullscreen mode Exit fullscreen mode

Watch Out For

  • Check overage behavior before switching: Services like Fly.io can auto-charge on overages. Set hard limits with fly scale to prevent surprises.
  • Prefer low vendor lock-in stacks: Cloudflare Pages and Meilisearch are Docker-friendly and built on standard APIs — re-migration costs are low if you change course again.
  • Migrate in stages: Before cutting over DNS, lower TTL to 300 seconds, then run old and new services in parallel for one full billing cycle so you can roll back cleanly.

A subscription audit is a one-time effort that keeps paying off year after year. Open every invoice, compare your real traffic numbers against free tier limits, and go from there.

Related Links

※ Some links are affiliate or self-promotional.

🛠 From the Author

If you want to put Claude / GitHub Actions automation like this to work in your own environment right away:

※ Links to author’s own products and sites (includes promotional content).

If you found this useful: I packaged 50 copy-paste AI debugging prompts + drop-in Claude Code config templates (CLAUDE.md, settings.json, MCP) into a small kit.
Launch deal: code START50 = 50% off → 50 AI Debugging Prompts + Claude Code Config Pack (about $6, 50% off applied)
New: my 10-chapter ebook Practical Claude Code — automation & unattended operation (about $9, 50% off applied)

원문에서 계속 ↗

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다