Sentry self-hosted vs Sentry SaaS: dev solo chọn cái nào?

Mục lục
TL;DR
  • Sentry SaaS: free 5k event/tháng, dev solo dùng đủ. Trên đó là 26-80 USD/tháng tùy plan.
  • Sentry self-host: free unlimited event, nhưng yêu cầu VPS 8GB RAM, 40GB SSD, và 5 container Docker (Postgres, ClickHouse, Redis, Kafka, Sentry app).
  • Dev solo dưới 50k event/tháng: nên dùng SaaS. Dev solo trên 50k event hoặc privacy critical: self-host.
  • Migrate giữa 2 bản dễ, vì Sentry SDK chỉ cần đổi DSN. Có thể thử cả hai trước khi quyết.
  • Bài này so sánh chi tiết cost, công sức bảo trì, tính năng, performance, và 5 use case quyết định.

Sentry là chuẩn vàng cho error tracking 10 năm qua. Mỗi dev đều quen DSN dạng sentry_dsn=https://[email protected]/456. Câu hỏi luôn xuất hiện khi side project nhỏ lên dần: tiếp tục trả 26-80 USD/tháng cho Sentry Cloud, hay tự host bản open source lên VPS riêng? Cả hai đều có ưu nhược điểm rõ ràng.

Bài này so sánh chi tiết Sentry SaaS và Sentry self-host từ góc nhìn dev solo Việt Nam: cost thực tế (kể cả Cloud VPS), công sức setup và bảo trì, performance giữa 2 stack, các tính năng chỉ có ở bản nào, và 5 tình huống cụ thể quyết định nên chọn cái nào. Test self-host trên Cloud VPS 80 (8GB RAM, 80GB SSD CEPH) chạy AlmaLinux 9. Kết quả nhằm giúp bạn ra quyết định trong 10 phút thay vì mất một tuần thử nghiệm.

Sentry là gì và 2 phiên bản khác nhau ra sao?

Sentry là application monitoring + error tracking platform. SDK cài vào app (Python, Node, Java, Ruby, mobile, frontend), tự bắt exception, gửi stack trace + context (user, device, environment, breadcrumb) về Sentry server. Dashboard cho phép group lỗi, filter theo release, alert qua nhiều kênh.

2 phiên bản chính:

  • Sentry SaaS (sentry.io): hosted, trả phí theo event volume. Free tier 5k error event + 10k transaction/tháng.
  • Sentry Self-Hosted: bản open source FSL (Functional Source License). Đầy đủ tính năng nhưng phải tự dựng infrastructure. Có docker-compose chính thức.

Cả 2 dùng chung SDK. Migrate từ SaaS sang self-host hoặc ngược lại chỉ cần đổi biến SENTRY_DSN trong app.

Bảng so sánh tổng quan

Tiêu chíSentry SaaSSentry Self-Host
Free tier5k error + 10k transaction/thángUnlimited (giới hạn VPS)
Setup ban đầu5 phút60-90 phút
Bảo trì hàng thángKhông cần~30-60 phút (update, cleanup)
VPS yêu cầuKhông8GB RAM, 40GB SSD min
Số container0~25 (Sentry + deps)
Latency từ VN200-300ms (US)5-15ms (VPS nội)
SSO/SAML built-inPlan Business+Có trong CE
Audit logPlan EnterpriseCó trong CE
Update versionTự độngManual mỗi 1-2 tháng
Backup dataSentry loBạn lo (postgres + clickhouse)
Privacy dataGửi ra USHoàn toàn nội bộ

Tóm tắt nhanh: SaaS thắng ở dễ dùng, self-host thắng ở chi phí dài hạn + privacy.

Chi phí thực tế Sentry SaaS

PlanEvent/thángGiá
Developer (free)5k error + 10k transaction0
Team50k error + 100k transaction26 USD
Business100k+, SSO, advanced80 USD
EnterpriseTùy nhu cầuLiên hệ
Pay-as-you-go top up~0.00029 USD/errorLinh hoạt

Pay-as-you-go nghĩa khi vượt quota, bạn vẫn được nhận event nhưng bị charge thêm. Một app có bug rò rỉ tạo ra 100k event/ngày có thể bill $30 chỉ trong 1 tuần. Đặt rate limit ở SDK là bắt buộc.

Chi phí self-host trên Cloud VPS Việt Nam

  • Cloud VPS 80 TND (8GB RAM, 80GB SSD): khoảng 1.300k VND (~52 USD)/tháng.
  • Backup S3 100GB: ~5 USD/tháng.
  • Domain: ~5 USD/tháng (chia /12 của domain năm).
  • Tổng cố định: ~62 USD/tháng.

Self-host đắt hơn SaaS Team (26 USD) khi event ít. Nhưng self-host xử lý unlimited event không bị phụ phí. Break-even khi event > ~200k/tháng (chạm plan Business 80 USD).

Cài Sentry self-host: 90 phút từ con số 0

git clone https://github.com/getsentry/self-hosted.git
cd self-hosted
git checkout 24.10.0  # version pin để tránh breaking change
./install.sh

Script này tự:

  • Kiểm tra Docker version (cần ≥ 25), Docker Compose (≥ 2).
  • Pull 25 image (Sentry web, worker, cron, ingest-* consumer, snuba, clickhouse, postgres, kafka, redis, memcached, smtp, vroom, symbolicator).
  • Tạo user admin đầu tiên (script hỏi email + password).
  • Migrate database.
  • Start tất cả service qua docker compose.

Tổng thời gian: 30-60 phút tùy băng thông pull image. Khi xong, mở http://server-ip:9000 thấy login Sentry.

Đặt Sentry sau Caddy HTTPS

sentry.your-domain.com {
    reverse_proxy localhost:9000
    request_body {
        max_size 50MB
    }
}

max_size 50MB vì source map upload và minidump dump có thể lớn. Reload Caddy, cert tự xin. Sau đó update SENTRY_DSN trong app trỏ về https://sentry.your-domain.com.

RAM và disk usage thực tế

Đo trên Cloud VPS 80 sau 2 tuần production với 1 app Next.js + 1 FastAPI gửi ~30k error event và ~80k transaction/tháng:

  • RAM usage: 5.2-6.5 GB trên tổng 8 GB.
  • Disk usage: tăng ~1-2 GB/tuần (ClickHouse, Postgres, Kafka log).
  • CPU: trung bình 15 phần trăm, peak 70 phần trăm khi nhiều event đến cùng lúc.
  • Network out: ~2 GB/tháng (UI access + SDK upload).

Sau 3 tháng, disk sẽ chạm 60 GB. Cần cron cleanup event cũ:

docker compose run --rm web sentry cleanup --days 90

Xóa event cũ hơn 90 ngày. Chạy hằng tuần qua cron.

Performance: ingest latency

Phía gửiSentry SaaS (US)Sentry self-host (VPS VN)
App ở VN180-280ms5-15ms
App ở Vercel (US edge)20-50ms180-280ms
App ở Hetzner (EU)80-130ms180-250ms
App ở Cloud VPS VN (cùng VPS)180-280ms<5ms (localhost)

Latency thấp giúp gửi event nhanh không block request app. Quan trọng cho mobile app hoặc edge function có timeout ngắn.

Tính năng chỉ có ở Sentry self-host CE

  • Số user/org/team unlimited (SaaS giới hạn theo plan).
  • Số project unlimited.
  • Retention dữ liệu tùy cấu hình (mặc định 90 ngày).
  • SSO/SAML/LDAP có sẵn không cần upgrade plan.
  • Audit log đầy đủ.
  • API rate limit có thể cấu hình.

Tính năng chỉ có ở Sentry SaaS

  • Replay session (record video user gặp lỗi).
  • Performance monitoring nâng cao (web vitals dashboard).
  • Insights AI (Sentry tự tóm tắt root cause).
  • Crons monitoring (giám sát cron job có chạy đúng giờ).
  • Profiling continuous.
  • Mobile Application Monitoring nâng cao.

Một số tính năng SaaS đang dần được port sang self-host nhưng chậm. Nếu bạn rely heavily vào replay session hoặc AI insights, SaaS vẫn là lựa chọn duy nhất.

5 use case quyết định

Use case 1: Dev solo, 1-3 side project, mỗi cái dưới 10k event/tháng

Dùng SaaS free tier. 5k event/tháng đủ cho 3 project nhỏ. Không tốn công bảo trì, latency từ VN 200ms vẫn chấp nhận được vì SDK async.

Use case 2: Startup 3-5 dev, app production chính 30-50k event

Plan Team 26 USD/tháng vẫn rẻ và không tốn DevOps. Khi vượt quota, mua thêm pay-as-you-go. Không cần self-host trừ khi privacy là yêu cầu.

Use case 3: Agency 5+ project client, mỗi project >50k event

Self-host trên Cloud VPS 80. Tạo org riêng cho mỗi client, share cùng infrastructure. Chi phí 60 USD vs 80 USD plan Business, lại unlimited event.

Use case 4: Công ty có yêu cầu data trong nước (Nghị định 13, ngành tài chính)

Bắt buộc self-host. Đặt VPS Việt Nam có data center trong nước. Sentry SaaS lưu data tại US/EU, không phù hợp compliance VN.

Use case 5: Mobile app traffic cao, cần replay session

Dùng SaaS plan Business hoặc Enterprise. Replay session chưa có ở self-host. Nếu chi phí quá cao, dùng combo: self-host cho error tracking, dùng Sentry SaaS plan thấp riêng cho replay subset.

Migrate từ SaaS sang self-host

  1. Cài self-host song song trên VPS, tạo project + DSN.
  2. Update SENTRY_DSN trong app pointing tới self-host.
  3. Quan sát data chảy vào self-host 1-2 tuần, verify event giống SaaS.
  4. Export historical data từ SaaS qua API hoặc Sentry export tool, import vào self-host (optional, có thể không cần).
  5. Cancel plan SaaS (giữ tài khoản miễn phí làm backup).

Downtime 0 vì SDK gửi đến endpoint mới ngay khi env var update.

Update Sentry self-host

Sentry release version mới mỗi tháng. Quy trình update:

cd ~/self-hosted
git fetch
git checkout 24.11.0  # version mới
./install.sh
docker compose up -d

Mất 15-30 phút, có downtime ngắn. Đọc CHANGELOG trước vì đôi khi breaking change cần manual migration. Backup Postgres + ClickHouse trước khi upgrade.

FAQ

Sentry self-host có thực sự miễn phí mãi mãi không?

License FSL (Functional Source License) cho phép dùng miễn phí cho mục đích không cạnh tranh trực tiếp với Sentry. Dev solo, startup, công ty nội bộ đều OK. Nếu bạn build SaaS thay thế Sentry và bán lại, cần license thương mại. Sau 2 năm, code tự chuyển sang Apache 2.0.

Self-host Sentry chạy được trên VPS 4GB không?

Khó. Sentry stack có 25 container, lý thuyết min 8GB RAM. Có thể tunning để chạy 4GB nhưng khả năng OOM cao khi traffic spike. Nên đầu tư VPS 8GB+ ngay từ đầu.

Có alternative nhẹ hơn Sentry self-host không?

Có. GlitchTip là Sentry-compatible (cùng SDK protocol) nhưng nhẹ hơn nhiều, chỉ cần Postgres + Redis, chạy trên VPS 2GB. Bug Sink cũng tương tự. Đánh đổi: tính năng ít hơn, cộng đồng nhỏ hơn.

Self-host Sentry có support source map upload không?

Có. Dùng sentry-cli upload-sourcemaps như SaaS, chỉ đổi --url-prefix. Cần tăng max_request_size trong cấu hình nếu source map lớn (>20MB).

Sentry self-host có cluster nhiều VPS không?

Có nhưng phức tạp, cần Kubernetes + sentry-kubernetes Helm chart. Cho dev solo và team nhỏ, single VPS với resource đủ là phù hợp hơn. Khi scale tới hàng triệu event/ngày mới cần cluster.

Cloud VPS cho vibe coder

Cloud VPS 80 vừa đủ chạy Sentry self-host 25 container

Cloud VPS TND sẵn AlmaLinux 9, Ubuntu 22/24, Debian 12/13. SSD CEPH, snapshot 1-click, backup hằng ngày, network 200Mbps trong nước. 8GB RAM vừa đủ cho Sentry CE chạy mượt, snapshot trước update giảm rủi ro breaking change.

Xem 8 cấu hình Cloud VPS →

Chia sẻ bài viết