⚡ Jawaban Singkat / Key Takeaways: Edge deployment seperti Vercel Edge dan Cloudflare Workers memang bikin fungsi berjalan dekat user. Tapi kalau fungsi itu harus query database yang tetap di region asal (misal Singapore), latency round-trip bisa melonjak 2-5x lipat dibanding server Node.js yang satu region dengan database. Cold start di edge juga bukan nol; Cloudflare Workers punya boot ~5ms berkat V8 Isolate, sementara Vercel Edge Functions bisa 50-200ms. Jangan percaya kata “instan” tanpa ukur sendiri.
Kamu deploy API ke edge. Semua dashboard hijau. Lalu user dari Jakarta buka halaman produk… loading 3 detik. Padahal di iklan cuma 50ms. Kamu mulai curiga: jangan-jangan “edge-ready by default” itu cuma mitos marketing.
Sayangnya, kamu nggak sendirian. Banyak full-stack developer dan arsitek terjebak narasi bahwa edge otomatis berarti cepat. Realitanya, cold start dan jarak ke database bisa menyabotase semua keunggulan geografis edge. Artikel ini akan membedah angka nyata, bukan brosur.

Apa Itu Cold Start di Edge dan Kenapa Kamu Harus Peduli
Cold start terjadi setiap kali platform harus menginisialisasi execution environment baru untuk fungsi kamu. Proses ini mencakup alokasi resource, inisialisasi runtime, loading dependency, dan warming up koneksi. Di edge, cold start seharusnya lebih ringan, tapi tidak seragam antar provider.
Berikut perbandingan nyata berdasarkan benchmark komunitas dan dokumentasi resmi:
| Platform | Cold Start (rata-rata) | Runtime | Penyebab Utama |
|---|---|---|---|
| Cloudflare Workers | ~5ms | V8 Isolate | Isolate creation, bukan VM penuh |
| Vercel Edge Functions | 50-200ms | V8 Isolate (modified) | Plus routing, middleware chain |
| Deno Deploy | 10-50ms | V8 Isolate | Mirip Workers, overhead Deno runtime |
| Custom Node.js (Fly.io/Railway) | 200-800ms | Full VM/Container | OS boot, Node.js init, module import |
| AWS Lambda (Node.js) | 200ms-2s | Firecracker microVM | VM provisioning + runtime init |
Angka ini bukan rahasia. Cloudflare mendokumentasikan arsitektur V8 Isolate mereka secara terbuka; Vercel juga punya panduan runtime. Yang jarang dibahas adalah apa yang terjadi setelah cold start selesai.
Hidden Cost yang Nggak Ada di Halaman Depan: Database Query Jauh dari Origin
Ini bagian yang bikin banyak arsitek menyesal setelah deploy. Bayangkan skenario ini:
- Database PostgreSQL kamu di Singapore (region AWS/GCP terdekat).
- Edge function berjalan di Jakarta, Tokyo, Frankfurt, dan Oregon.
- User dari Amsterdam request halaman produk. Edge terdekat ada di Frankfurt. Sejauh ini bagus: first byte diterima cepat.
- Tapi kemudian edge function harus query database. Request Frankfurt → Singapore → Frankfurt = 300-400ms tambahan.
Bandingkan dengan custom Node.js server di Singapore yang query database lokal: 1-5ms. Total round-trip user Amsterdam ke server Singapore via CDN edge mungkin 150-200ms, tapi query database hanya 1-5ms. Hasil akhir: server regional yang “jadul” justru bisa lebih cepat total daripada edge function yang terpencar.

Eksperimen Cepat: Vercel Edge vs Cloudflare Workers vs Custom Node.js Server
Mari kita lihat skenario dengan parameter yang realistis: database PlanetScale di Singapore, endpoint API membaca 20 row produk.
| Setup | Cold Start | DB Query Latency | Total (p50) | Total (p95) |
|---|---|---|---|---|
| Vercel Edge (SIN region) | 60ms | 3ms | 80ms | 150ms |
| Cloudflare Workers (SIN colo) | 5ms | 3ms | 20ms | 45ms |
| Custom Node.js (Railway SIN) | 0ms (warm) | 1ms | 10ms | 25ms |
| Vercel Edge (US East, DB SG) | 80ms | 280ms | 380ms | 650ms |
| Cloudflare Workers (US colo, DB SG) | 5ms | 290ms | 310ms | 520ms |
Pola yang muncul jelas: begitu edge node jauh dari database, latency network mendominasi total response time. Cold start yang 5ms atau 200ms jadi hampir tidak relevan dibanding 300ms database round-trip. Ini bukan kelemahan edge. Ini konsekuensi hukum fisika: kecepatan cahaya di fiber optik tetap terbatas.
Cold Start Vercel vs Cloudflare: Kenapa 5ms vs 200ms Itu Penting (Tapi Bukan Segalanya)
Cloudflare Workers pakai V8 Isolate langsung. Tidak ada container, tidak ada VM. Isolate adalah unit isolasi ringan di dalam satu proses V8. Kalau ada 1000 Workers aktif, mereka semua berbagi proses V8 yang sama, masing-masing terisolasi via Isolate. Hasilnya: cold start nyaris instan karena tidak ada boot proses baru.
Vercel Edge Functions juga pakai V8 Isolate, tapi dengan lapisan tambahan: routing framework Next.js/Nuxt/SvelteKit, middleware chain, dan integrasi platform. Overhead ini menambah 50-150ms di cold start. Untuk aplikasi dengan traffic stabil (container tetap hangat), perbedaan ini hilang. Tapi untuk traffic spike-driven atau low-traffic API internal, cold start Vercel bisa terasa.
Custom Node.js server di Railway, Fly.io, atau dedicated VPS tidak mengalami konsep cold start yang sama. Proses Node.js selalu berjalan. Tapi kamu bayar untuk itu: server idle 24/7 tetap menghasilkan tagihan.

Strategi Memilih: Edge, Serverless, atau Server Konvensional?
Kuncinya bukan memilih satu untuk semua. Tapi membagi workload berdasarkan data gravity: seberapa dekat fungsi tersebut bergantung pada database atau service utama.
- Gunakan edge (Cloudflare Workers / Vercel Edge) untuk: redirect, auth token validation, A/B testing, personalisasi berbasis header/cookie, rate limiting, dan logic tanpa DB query.
- Gunakan serverless regional (Vercel Serverless / AWS Lambda) untuk: API CRUD dekat database, webhook processing, image optimization, dan fungsi dengan dependency berat.
- Gunakan server Node.js konvensional untuk: aplikasi stateful, WebSocket server, long-running background job, dan workload dengan prediksi traffic tinggi yang butuh performa konsisten.
Untuk pembahasan lebih detail tentang kapan edge lebih unggul, baca artikel kami sebelumnya: Edge Functions vs Serverless Functions: Pilih yang Mana Biar Nggak Salah Arsitektur di 2026?
Teknik Meminimalkan Cold Start Tanpa Bayar Mahal
Kalau kamu tetap ingin edge (dan memang banyak use case cocok di edge), berikut taktik praktis untuk menekan cold start:
1. Keep Dependencies Slim
Setiap library yang kamu import menambah waktu inisialisasi. Di Vercel Edge, batasan ukuran function adalah 1MB (zipped). Pilih library yang memang dirancang untuk edge: @planetscale/database alih-alih mysql2 full, atau @upstash/redis via HTTP alih-alih driver TCP Redis tradisional.
2. Pindahkan Init Berat ke Module-Level
Mirip strategi di AWS Lambda: semua import dan inisialisasi client harus di luar handler function. Kode di level modul cuma dieksekusi sekali saat cold start, bukan setiap request. Lihat detail strategi ini di Cold Start Lambda Python Bikin User Kabur? Ini Jurus Warm-Up yang Beneran Works.
3. Replikasi Database atau Gunakan Distributed SQL
Ini investasi besar, tapi hasilnya signifikan. Platform seperti PlanetScale, Neon, Turso, dan CockroachDB mendukung read replica di berbagai region. Edge function query ke read replica lokal → latency di bawah 10ms bahkan untuk user global.
4. Cache Aggressively
Edge unggul untuk serving cached content. Kalau data jarang berubah, cache di edge menggunakan stale-while-revalidate bisa memotong 100% database round-trip untuk mayoritas request.

Kapan Server Node.js Sendiri Justru Lebih Masuk Akal
Ada timing di mana memilih server konvensional adalah keputusan terbaik, bukan karena takut teknologi baru, tapi karena matematika:
- Traffic stabil dan terprediksi. Kalau kamu tahu jam sibuk dan baseline request per menit, server $20/bulan di Railway atau $5/bulan VPS bisa menangani ribuan request tanpa cold start.
- Database dan server di region yang sama. Kalau 90% user kamu di Indonesia dan database di Singapore/Jakarta, server regional dengan koneksi lokal lebih cepat dari edge global dengan round-trip trans-benua.
- Butuh long-running connection. WebSocket, SSE, atau persistent connection sulit di edge. Server konvensional adalah habitat alami untuk ini.
- Tim belum siap debugging terdistribusi. Observability di edge masih lebih kompleks daripada server tunggal dengan log file biasa.
Untuk insight lebih dalam tentang pemilihan framework di era server components yang memengaruhi keputusan edge vs server, baca juga: 6 Framework Modern Berebut Jadi Raja Server Components, Kamu Tim Mana?.
Mitos “Edge Always Faster” yang Harus Kamu Lupakan
Edge lebih cepat hanya kalau workload-nya compute-bound ringan dan dekat user. Begitu workload jadi data-bound dan jauh dari database, edge bisa lebih lambat dari server monolitik satu region. Ini bukan pendapat. Ini hasil pengukuran berulang di production oleh tim-tim seperti Vercel sendiri, Cloudflare, dan peneliti independen.
Ingat prinsip dasar: data gravity. Data cenderung diam di satu tempat. Memindahkan komputasi ke dekat data hampir selalu lebih efisien daripada memindahkan data ke dekat komputasi. Edge membalik persamaan ini. Kadang berhasil, kadang tidak.
FAQ: Cold Start dan Regional Latency di Edge Deployment
Apakah Cloudflare Workers benar-benar nggak punya cold start?
Punya, tapi sangat kecil (~5ms). Arsitektur V8 Isolate memungkinkan Workers berbagi proses yang sama, jadi tidak perlu boot VM atau container baru. Namun untuk Workers yang menggunakan Durable Objects atau Cache API tertentu, inisialisasi bisa sedikit lebih lambat. Cloudflare juga menerapkan CPU time limit per request (10-50ms di plan gratis, lebih tinggi di paid). Kalau fungsi kamu booting dengan import besar, cold start tetap bisa terasa.
Haruskah aku pindahin database ke edge juga biar cepat?
Tergantung. Ada database yang dirancang untuk edge seperti Cloudflare D1 (SQLite via Workers), Turso (libSQL dengan replicated edge), dan Neon/PlanetScale (serverless dengan read replicas). Tapi migrasi database bukan keputusan ringan. Alternatif lebih praktis: gunakan read replica di region terpisah, cache agresif di edge, dan pastikan write path tetap aman. Untuk banyak workload, hybrid approach (edge untuk read + cache, regional server untuk write) sudah cukup.
Mana yang lebih murah: Vercel Edge, Cloudflare Workers, atau custom server?
Cloudflare Workers paling murah untuk fungsi ringan: $0.30 per 1 juta request (plan Workers Paid, tanpa add-on). Vercel Edge Functions dihitung berdasarkan execution unit (~$0.60 per 1 juta). Custom server di Railway mulai $5/bulan flat. Tapi ingat: biaya compute cuma sebagian dari total biaya. Egress data, observability tools, dan engineering time untuk debugging sering kali mendominasi TCO. Jangan memilih platform hanya dari pricing page.
Apakah Vercel Edge Functions mendukung semua library Node.js?
Tidak. Vercel Edge Runtime punya subset API Node.js. Tidak ada fs, net, atau native module yang bergantung pada binary. Library seperti bcrypt, sharp, atau puppeteer tidak bisa berjalan di Vercel Edge. Selalu cek compatibility sebelum migrasi. Cloudflare Workers punya batasan serupa tapi dengan ekosistem Workers KV, D1, dan R2 sebagai pengganti native API.
Kesimpulan: Ukur Sendiri, Jangan Percaya Brosur
Edge deployment adalah alat, bukan solusi universal. Cold start rendah hanya setengah cerita. Setengah lainnya adalah seberapa dekat komputasi-mu dengan data. Cloudflare Workers unggul di cold start. Vercel Edge unggul di integrasi framework. Custom Node.js unggul di kontrol dan prediktabilitas. Tidak ada yang menang mutlak di semua skenario.
Sebelum memutuskan, lakukan benchmark dengan data asli, traffic pattern yang realistis, dan region yang mencerminkan pengguna kamu. Jangan terjebak demo 50ms yang ternyata cuma berlaku untuk “hello world” tanpa database query. Kalau ada pertanyaan atau pengalaman menarik soal edge deployment, tinggalkan komentar di bawah.



