← Semua picks

Stack Comparison Conditional

Vercel vs Cloudflare Pages vs Railway 2026

Tiga deploy platform dengan trade-off beda. Saya pakai Vercel 24 bulan, Cloudflare 18 bulan, Railway 10 bulan. Cost breakdown untuk SMB Indonesia.

10 Juni 2026 · 10 menit ·Use case: Deploy platform pilihan SMB Indonesia 2026
VercelCloudflare PagesRailway

TL;DR

  • Vercel: Next.js ecosystem matang, DX terbaik, bill scale unpredictable. Conditional Recommend.
  • Cloudflare Pages: Hosting termurah, latency Jakarta 5x lebih baik dari Vercel. Conditional Recommend.
  • Railway: Full stack (app + DB + cron), pricing predictable, monolith friendly. Conditional Recommend.
  • Verdict: pilih berdasarkan arsitektur + budget + stack.

Konteks

Saya pakai ketiga platform di 18 project SMB Indonesia 2024-2026:

  • Vercel (10 project): SaaS dental, ecommerce klinik, marketing site fotografer (sebelum migrate CF), admin HR, dan project Next.js lainnya
  • Cloudflare Pages (6 project): semua Astro project, 2 Next.js static-mostly, 1 SvelteKit
  • Railway (4 project): backend Hono untuk mobile app, internal tool Python (FastAPI), 1 monolith Laravel, 1 worker queue

Total: 24 bulan apple-to-apple compare. Migration Vercel → CF detail.

Pricing (Juni 2026)

Vercel

  • Hobby: free. 100GB bandwidth, 100GB-hours function, 6000 build/bulan
  • Pro: $20/user/bulan = Rp 320rb/user. 1TB bandwidth, 1000 GB-hours function
  • Enterprise: custom (mulai $1000+/bulan)

Cloudflare Pages

  • Free: unlimited bandwidth, 500 build/bulan, 100K request/hari
  • Pro: $20/bulan = Rp 320rb. Tambah build slots + analytics
  • Workers Paid: $5/bulan = Rp 80rb. 10M request/bulan included

Railway

  • Hobby: $5/bulan = Rp 80rb. Base credit $5 for usage
  • Pro: $20/bulan = Rp 320rb base + usage. Team feature
  • Usage: $0.000231/GB-RAM-hour, $0.000463/vCPU-hour, $0.10/GB egress

Cost untuk SMB Indonesia (estimated)

Untuk SaaS Indonesia dengan 5K MAU, 50K page view/bulan, 2 database:

Platform setupMonthly cost
Vercel Pro + Supabase Pro + StripeRp 740rb (~$46)
Cloudflare Pages free + Supabase Pro + StripeRp 400rb (~$25)
Cloudflare Pages + Workers + Cloudflare D1 + StripeRp 80-160rb (~$5-10)
Railway full-stack (app + Postgres + Stripe)Rp 480-720rb (~$30-45)
Vercel Pro + Railway PostgresRp 560-800rb (~$35-50)

Cloudflare native stack paling murah (Rp 80-160rb/bulan). Vercel + Supabase paling popular tapi 4-9x lebih mahal.

Performance untuk Indonesia

Latency Jakarta median (same project, 3 platform):

PlatformTTFBLCP
Vercel (Singapore region)85ms1.8s
Cloudflare Pages (Jakarta PoP)18ms0.9s
Railway (Singapore region)90ms1.9s

CF Pages 5x lebih cepat TTFB karena PoP Jakarta native. Vercel + Railway routing via Singapore.

Cold start serverless function:

PlatformCold start (median)
Vercel Edge Function80-200ms
Vercel Serverless (Node)600-1200ms
Cloudflare Workers5-15ms
Railway containerpersistent (no cold start)

CF Workers paling cepat cold start. Railway tidak ada cold start karena container persistent (trade-off: pay for idle compute).

Feature comparison

FeatureVercelCloudflareRailway
Git push deployYesYesYes
Preview deploy per branchYes (polished)YesYes
Edge functionYes (Edge Runtime)Yes (Workers, native)No (containers)
Container deployNo (only serverless)Limited (Workers)Yes (Docker)
Database hostingVercel PostgresD1 (SQLite), KV, R2Postgres, MySQL, Redis, Mongo
Cron jobVercel Cron ($)Cron Trigger WorkersBuilt-in
Background workerLimitedWorkers + QueuesNative (Docker)
Custom domainFreeFreeFree
DDoS protectionPro planFree (CF network)Limited
Static asset CDNYesYes (best)OK

Trade-off

Vercel

Pro: Next.js team — semua feature Next.js native. DX paling polished (preview deploy comment, log streaming, analytics inline). Vercel KV, Postgres, Blob integrate ke ecosystem. Free tier generous untuk learning. Documentation matang.

Con: Bill scale unpredictable — function invocation, bandwidth, edge requests scale cost. Vendor lock-in moderate (banyak feature Vercel-specific). Asia latency via Singapore (acceptable, tidak ideal).

Cloudflare Pages

Pro: Latency Indonesia terbaik (Jakarta PoP 5-15ms). Free tier paling generous (unlimited bandwidth). Workers $5/mo handle banyak workload. CF ecosystem (KV, R2, D1, Queues, Durable Objects) lengkap. DDoS protection bawaan.

Con: Next.js ISR + revalidate butuh workaround. Image optimization butuh CF Images ($5/mo). Documentation untuk advanced use case kurang polished dari Vercel. Less hand-holding untuk dev junior.

Railway

Pro: Full-stack platform — deploy app + DB + cron + worker dalam 1 service. Pricing predictable (no surprise scale bill). Container-based — bisa deploy stack apapun (Node, Python, Ruby, Go, Rust, PHP). Persistent storage native.

Con: Tidak ada edge runtime (latency Asia via Singapore). Tidak ideal untuk static-heavy site (CF Pages lebih cocok). Free tier minimal ($5 credit/bulan, habis cepat). Asia region masih Singapore only.

Use case decision matrix

Use caseRecommended
Marketing site / portfolio (static)Cloudflare Pages
SaaS Next.js dengan ISR heavyVercel
SaaS Next.js static-mostlyCloudflare Pages
Backend Hono / Express / BunCloudflare Workers atau Railway
Python FastAPI / DjangoRailway
Laravel monolithRailway
Mobile app backendRailway atau Cloudflare Workers
Cron job / background workerCloudflare Workers + Queues atau Railway
Database hosting + app comboRailway
Budget paling tight (Rp 0/bulan)Cloudflare Pages free
Dev junior first deployVercel (DX paling polished)

Konteks Indonesia

SaaS dental Jakarta (Vercel → CF migration): 2024 di Vercel Pro Rp 320rb/bulan. Q2 2025 migrate ke CF Pages: bill Rp 0/bulan. Latency Jakarta TTFB 92ms → 18ms. Customer reaction: “lebih cepat”.

Ecommerce klinik kecantikan (CF Pages + Workers + D1): launch Q4 2025. Stack pure Cloudflare. Bill Rp 80rb/bulan untuk 1500 order/bulan. Latency excellent.

Backend mobile booking dental (Railway): Hono on Bun di Railway. Bill Rp 480rb/bulan termasuk Postgres. Cocok karena butuh long-running worker untuk reminder push notification.

Internal admin warung scale (Railway Laravel monolith): Laravel + Postgres + Redis di Railway. Bill Rp 640rb/bulan. Familiar stack untuk klien, deploy mudah.

Migration paths

Vercel → Cloudflare Pages

Detail di guide migration ini. Effort 1-12 jam tergantung shape Next.js project.

Vercel → Railway

Effort: 4-12 jam untuk Next.js. Butuh Dockerfile, env config, build setup. Worth jika butuh persistent worker / cron.

Railway → Cloudflare Workers

Effort: full refactor jika monolith → edge function. Worth jika app fit edge model (stateless, fast).

Cost optimization tactic

Vercel

  • Disable Vercel Analytics jika tidak butuh (saves $10/mo Pro)
  • Pakai ISR strategic — bukan default semua page
  • Bundle static asset ke CDN external (Cloudinare) untuk reduce bandwidth

Cloudflare

  • Pakai Workers Paid ($5) instead of Pages Functions untuk function-heavy app
  • Cache aggressive di CF Cache + Workers KV
  • Pakai R2 untuk storage (no egress fee, jauh lebih murah dari S3)

Railway

  • Hibernate service yang idle (Railway support sleep)
  • Pakai smaller instance untuk dev/staging
  • Monitor RAM usage — Railway charge per GB-hour

Yang surprising

Cloudflare Pages latency improvement jauh lebih besar dari yang saya kira. Customer Indonesia feedback “lebih cepat” konsisten across 5 project setelah migrate. CF PoP Jakarta game-changer untuk SMB Indonesia.

Railway predictable pricing nyata. 4 project saya 8 bulan zero surprise bill. Vs Vercel 2 project pernah kena bill spike 2-3x normal karena traffic burst.

Verdict

Conditional Recommend untuk ketiga:

Pakai Vercel jika:

  • Next.js advanced (ISR, On-demand revalidation)
  • Tim familiar Vercel ecosystem
  • DX prioritas (preview deploy, analytics inline)
  • Budget OK Rp 320-640rb/bulan

Pakai Cloudflare Pages jika:

  • Static-heavy (Astro, Astro + sprinkle React)
  • Customer Indonesia mayoritas (latency critical)
  • Budget tight (Rp 0-80rb/bulan)
  • Stack edge-friendly (Hono, Workers)

Pakai Railway jika:

  • Backend non-static (Python, PHP, Ruby, monolith Node)
  • Butuh persistent worker / cron job
  • Prefer pricing predictable
  • Database + app monolith friendly

Skip jika: stack Anda tidak fit. Untuk pure serverless edge: CF. Untuk pure container monolith: Railway atau VPS langsung.

Untuk migration concrete: Vercel ke Cloudflare migration step-by-step.

Ditulis oleh Asti Larasati

// Pick Stack Comparison lain


← Semua picks RSS feed