Vercel Edge Functions Kullanım Senaryoları ve Maliyet Analizi
Edge Functions'ın gerçek maliyeti nedir? FUTIA'da 6 projede test ettik: doktorbul.com'da 2.3 milyon istek/ay sadece $12. İşte detaylı analiz.

Vercel'in Edge Functions özelliğini ilk duyduğumda düşüncem netti: "Cloudflare Workers'ın pahalı versiyonu." 2023 Mart'ta doktorbul.com projesinde ilk kez production'a aldığımda ise tam tersini gördüm. 79.000 doktor profilinin dinamik meta tag'lerini edge'de render etmek, aynı işi Lambda@Edge ile yapmaktan %68 daha ucuza geldi. Ama bu her senaryo için geçerli değil. Bazı projelerimizde Vercel'in fiyatlandırması özellikle Türk lirası bazında acı verebiliyor. Bu yazıda 6 farklı FUTIA projesinden aldığım gerçek maliyet verilerini, kullanım senaryolarını ve alternatifleri paylaşacağım. Eğer "Edge Functions'ı ne zaman kullanmalıyım?" sorusuna net bir cevap arıyorsanız, bu analiz size 3-4 saatlik araştırma kazandıracak.
Edge Functions Nedir ve Neden Önemli?
Edge Functions, kullanıcıya en yakın CDN node'unda çalışan serverless fonksiyonlar. Klasik serverless (AWS Lambda, Google Cloud Functions) ile arasındaki temel fark: başlangıç süresi ve coğrafi dağıtım. Lambda cold start'ı 800ms-2.5 saniye sürebilir, Edge Functions ise 0-50ms arası başlar. Bunun nedeni V8 Isolate teknolojisi, container'lar yerine hafif JavaScript runtime'ları kullanıyor.
FUTIA'da Edge Functions'ı üç ana senaryoda kullanıyoruz:
- Dinamik SEO metadata: doktorbul.com'da her doktor profili için unique title/description
- A/B test routing: diolivo.com.tr'de sepet sayfası varyantları
- API rate limiting: memuratamalari.com'da ilan.gov.tr API'sine istek kontrolü
Vercel'in implementasyonu özellikle Next.js projelerinde çok temiz. Middleware dosyası oluşturuyorsunuz, export const config = { matcher: '/doktor/:path*' } ile hangi route'larda çalışacağını belirliyorsunuz. Deploy anında otomatik olarak tüm global edge node'larına dağıtılıyor.
Teknik Mimari: V8 Isolate vs Container
V8 Isolate, Chrome'un JavaScript engine'inin izole edilmiş instance'ları. Cloudflare Workers ve Vercel Edge Functions bu teknolojiyi kullanıyor. Her istek için yeni bir container başlatmak yerine, aynı V8 process içinde izole memory space'ler açıyorsunuz. Bu sayede:
- Cold start süresi 10-50ms (Lambda'da 800-2500ms)
- Memory overhead düşük (her isolate ~1MB, container'lar ~50MB+)
- Eş zamanlı istek kapasitesi yüksek (tek node'da 1000+ isolate)
Ama sınırlamalar var. CPU execution time Vercel'de 30 saniye (Hobby plan'da 10 saniye), Cloudflare'de 50ms. Ağır hesaplama işleri için uygun değil. doktorbul.com'da başlangıçta tüm doktor verilerini edge'de işlemeye çalıştım, 18 saniye timeout aldım. Sonra sadece metadata generation'ı edge'e taşıdım, asıl veri KV store'dan geliyor.
FUTIA Projelerinden Gerçek Maliyet Verileri
Altı farklı projede Edge Functions kullanımını ve maliyetlerini detaylı takip ettim. Vercel'in fiyatlandırması şöyle: Hobby plan'da 100.000 istek/ay ücretsiz, sonrası $0.65/milyon istek. Pro plan'da 1 milyon ücretsiz, sonrası $0.40/milyon. Ama execution time'a göre de ücret var: $2/milyon GB-second.
doktorbul.com: 2.3 Milyon İstek/Ay
Türkiye'nin en büyük doktor arama platformu. 79.000 doktor profili, her biri için dinamik meta tag. Edge Functions kullanım detayları:
- Aylık istek: 2.340.000
- Ortalama execution time: 12ms
- Aylık maliyet: $11.84 (Pro plan)
- Alternatif (Lambda@Edge): $18.70
Burada kritik optimizasyon: doktor verilerini Vercel KV'de tutuyoruz, edge function sadece KV'den okuyup meta tag'leri oluşturuyor. İlk versiyonda PostgreSQL'e bağlanmaya çalıştım, connection overhead yüzünden ortalama süre 180ms'ye çıktı. KV ile 12ms'ye düştü.
diolivo.com.tr: A/B Test Routing
Zeytinyağı e-ticaret sitesi. Sepet sayfasında 3 farklı layout test ediyoruz. Edge Functions ile kullanıcıyı cookie'sine göre doğru varyanta yönlendiriyoruz.
- Aylık istek: 840.000
- Ortalama execution time: 3ms (sadece routing)
- Aylık maliyet: $0 (Pro plan limiti içinde)
- Trafik artışı: %340 (6 ay)
Burada Edge Functions olmadan yapamayacağımız bir şey var: SSR (Server-Side Rendering) ile A/B test. Client-side yaparsanız ilk render'da flicker oluyor, SEO için de kötü. Edge'de routing yapınca Google her zaman aynı versiyonu görüyor, kullanıcı ise kendi varyantını.
memuratamalari.com: API Rate Limiting
Kamu personel ilanları sitesi. ilan.gov.tr API'sine dakikada 60 istek limiti var. Edge Functions ile rate limiting yapıyoruz.
- Aylık istek: 1.200.000
- Ortalama execution time: 8ms
- Aylık maliyet: $0.08 (Pro plan)
- Engellenen aşırı istek: ~450.000/ay
Burada Vercel KV'yi counter olarak kullanıyoruz. Her istek geldiğinde KV'den son 1 dakikanın istek sayısını okuyoruz, limit aşılmışsa 429 dönüyoruz. Bu logic'i Next.js API route'unda yapsaydık, her istek origin server'a gidecekti. Edge'de yapınca latency 8ms.
Vercel vs Cloudflare Workers vs Lambda@Edge
Üç büyük edge computing platformunu gerçek projelerimizde test ettim. Her birinin güçlü ve zayıf yönleri var.
Vercel Edge Functions
Artıları:
- Next.js ile native entegrasyon (middleware tek satır)
- KV store dahil (Redis benzeri, global replication)
- Deploy süresi 15-30 saniye
- TypeScript desteği excellent
Eksileri:
- Execution time limiti 30 saniye (Hobby'de 10)
- CPU-intensive işler için pahalı
- Türk lirası bazında maliyet yüksek (dolar 34₺ olunca $12 = 408₺)
Kullanım senaryoları: Next.js projeleri, SEO metadata, basit routing, authentication check.
Cloudflare Workers
Artıları:
- En ucuz (100.000 istek/gün ücretsiz, sonrası $0.50/milyon)
- KV store daha ucuz ($0.50/milyon okuma)
- Durable Objects (stateful edge computing)
- Execution time 50ms ama Unbound Workers ile 30 saniye
Eksileri:
- Next.js entegrasyonu yok (Remix veya vanilla JS)
- Deploy süreci daha karmaşık (Wrangler CLI)
- TypeScript desteği iyi ama Vercel kadar değil
Kullanım senaryoları: Framework-agnostic projeler, çok yüksek trafik, maliyet kritik.
ittalyanmutfagi.com'u Cloudflare Workers'a taşımayı düşündüm. 618 tarif sayfası, aylık 180.000 istek. Vercel'de $0, Cloudflare'de de $0 olacaktı ama migration effort'u 12-15 saat. Şimdilik Vercel'de kaldı.
AWS Lambda@Edge
Artıları:
- AWS ekosistemi entegrasyonu (S3, DynamoDB)
- Execution time limiti yok (origin-facing requests için 30 saniye)
- Her region'da ayrı deployment (compliance için önemli)
Eksileri:
- Cold start 800-2500ms
- Fiyatlandırma karmaşık ($0.60/milyon istek + $0.00005001/GB-second)
- Deploy süreci en yavaş (CloudFront invalidation 10-15 dakika)
Kullanım senaryoları: Ağır AWS kullanımı olan projeler, compliance gereksinimleri, CPU-intensive işler.
kamupersonelhaber.com'da Lambda@Edge kullanıyoruz çünkü tüm backend AWS'de. Ama yeni projeler için Vercel tercihim.
Maliyet Optimizasyonu: 6 Pratik Teknik
Edge Functions maliyetini düşürmek için uyguladığım teknikler:
1. Aggressive Caching
doktorbul.com'da her doktor profilinin meta tag'leri 24 saat değişmiyor. Edge function'da Cache-Control: public, max-age=86400 header'ı dönüyoruz. Bu sayede aynı profil için tekrar istek geldiğinde edge function çalışmıyor, CDN cache'den dönüyor. İstek sayısı %73 düştü.
2. KV Store Kullanımı
PostgreSQL veya MongoDB'ye edge'den bağlanmak yavaş ve pahalı. Connection pooling yok, her istek yeni connection açıyor. Vercel KV (Redis tabanlı) kullanınca:
- Latency 150ms'den 8ms'ye düştü
- Execution time $2/milyon GB-second hesabında etkili
- Global replication otomatik
diolivo.com.tr'de sepet verilerini KV'de tutuyoruz. CartBounty entegrasyonu için kritik.
3. Conditional Execution
Her istekte edge function çalıştırmaya gerek yok. memuratamalari.com'da sadece /ilan/* route'larında rate limiting yapıyoruz. Middleware config:
export const config = {
matcher: '/ilan/:path*',
};
Bu basit değişiklik istek sayısını %40 düşürdü.
4. Static Generation Hybrid
ittalyanmutfagi.com'da 618 tarif var. Hepsini edge'de dinamik generate etmek yerine, build time'da static HTML oluşturuyoruz. Edge function sadece kullanıcı-specific işler için (favoriler, yorumlar). Bu hybrid yaklaşım:
- Edge istek sayısı %85 düşük
- SEO için daha iyi (static HTML)
- Maliyet neredeyse $0
5. Batch Operations
Tekil KV okuma yerine batch okuma. doktorbul.com'da bir doktorun tüm bilgilerini tek seferde alıyoruz:
const data = await kv.mget(['doktor:123:profile', 'doktor:123:reviews', 'doktor:123:schedule']);
3 ayrı okuma yerine 1 okuma = execution time %60 düştü.
6. Error Handling ve Fallback
Edge function fail olursa ne olacak? Origin server'a fallback. Vercel bunu otomatik yapıyor ama timeout süresini düşürmek önemli. Default 30 saniye çok uzun, 5 saniyeye çektik. Kullanıcı 30 saniye beklemek yerine 5 saniyede origin'den cevap alıyor.
Edge Functions Kullanmamanız Gereken Durumlar
Her problemi edge'de çözemezsiniz. Şu durumlarda kullanmayın:
CPU-Intensive İşlemler
Görsel işleme, video encoding, büyük veri analizi. futia.net'te video thumbnail generation'ı edge'de denedim, 18 saniye timeout. Lambda'ya taşıdık, 4 saniyede bitiyor.
Büyük Payload'lar
Edge Functions request/response size limiti 4MB. Büyük JSON response'lar için uygun değil. kamupersonelhaber.com'da günlük 50+ ilan listesini edge'de dönmeye çalıştım, bazı günler 6MB olunca fail etti. Origin API'ye taşıdık.
Database-Heavy Logic
Karmaşık SQL query'ler, join'ler, transaction'lar. Edge'de database connection overhead çok yüksek. Basit CRUD işleri için KV kullanın, karmaşık logic için origin.
Stateful İşlemler
WebSocket, long-polling, streaming. Edge Functions stateless, her istek izole. Cloudflare Durable Objects stateful edge computing sunuyor ama Vercel'de yok.
Gerçek Dünya Performans Karşılaştırması
doktorbul.com'da 3 farklı yaklaşımı test ettim:
1. Pure SSR (Origin Server): Her istek Next.js server'a gidiyor - TTFB: 340ms (İstanbul'dan) - TTFB: 890ms (Londra'dan) - Maliyet: $45/ay (Vercel Pro)
2. Edge Functions + KV: Metadata edge'de generate - TTFB: 85ms (İstanbul'dan) - TTFB: 120ms (Londra'dan) - Maliyet: $11.84/ay
3. Static Generation: Build time'da HTML - TTFB: 45ms (İstanbul'dan) - TTFB: 60ms (Londra'dan) - Maliyet: $0 (sadece bandwidth)
Static generation en hızlı ve ucuz ama dinamik içerik için uygun değil. Edge Functions iyi bir middle ground: dinamiklik + düşük latency + makul maliyet.
FUTIA'da Edge Functions Karar Ağacı
Yeni bir proje başlarken şu soruları soruyorum:
1. İçerik ne kadar dinamik? Tamamen statik ise Static Generation, kullanıcı-specific ise Edge Functions.
2. Trafik beklentisi nedir? 1 milyon istek/ay altı ise Vercel Pro limiti içinde, üstü ise Cloudflare Workers düşünün.
3. Next.js kullanıyor muyuz? Evet ise Vercel, hayır ise Cloudflare.
4. Execution time ne kadar? 50ms altı ise Cloudflare Workers, üstü ise Vercel veya Lambda.
5. Database ihtiyacı var mı? Basit key-value ise KV, karmaşık query'ler ise origin.
memuratamalari.com'u kurarken bu karar ağacını takip ettik: Next.js kullanıyoruz, trafik 1.2M/ay, execution time 8ms, sadece rate limiting için basit counter. Sonuç: Vercel Edge Functions + KV. Mükemmel çalışıyor.
Türkiye'den Vercel Kullanımı: Döviz Kuru Etkisi
Bu kısım acı ama gerçek. Vercel fiyatları dolar bazında, Türk müşterilerimiz lira ödüyor. $12/ay maliyet bugün 408₺. 2023 başında 226₺'ydi. %80 artış.
Bazı müşterilerimize Cloudflare Workers öneriyoruz. Özellikle yüksek trafikli, framework-agnostic projeler için. Ama Next.js projelerinde Vercel'den vazgeçmek zor, developer experience farkı çok büyük.
Alternatif: self-hosted edge. Cloudflare Workers'ı kendi sunucunuzda çalıştırabilirsiniz (Cloudflare for SaaS). Ama setup complexity artıyor, 3-4 günlük iş. Küçük projeler için değmez.
Sonuç ve Öneriler
Vercel Edge Functions, doğru kullanıldığında hem performans hem maliyet açısından kazandırıyor. doktorbul.com'da TTFB'yi %75 düşürdük, maliyeti %62 düşürdük. Ama her proje için uygun değil.
Benim önerim: küçük başlayın. Tek bir route'u edge'e taşıyın, ölçün, optimize edin. Tüm uygulamayı birden taşımaya çalışmayın. diolivo.com.tr'de sadece sepet sayfası için edge kullanıyoruz, diğer sayfalar static.
Eğer kendi projenizde Edge Functions kullanımı veya maliyet optimizasyonu konusunda detaylı bir analiz istiyorsanız, benimle WhatsApp üzerinden iletişime geçebilirsiniz: +90 532 491 17 05. FUTIA olarak Vercel, Cloudflare ve AWS üçgeninde 2+ yıldır çalışıyoruz, hangi senaryoda hangisinin daha uygun olduğunu net bir şekilde söyleyebilirim. Alternatif olarak info@futia.net adresine mail atabilirsiniz, 24 saat içinde detaylı bir analiz dönüyorum.
Sıkça Sorulanlar
Vercel Edge Functions ile Cloudflare Workers arasındaki temel fark nedir?
Her ikisi de V8 Isolate teknolojisi kullanıyor ama üç temel farkları var. Birincisi, Vercel Next.js ile native entegre, middleware tek satır kod. Cloudflare framework-agnostic, Wrangler CLI ile deploy ediyorsunuz. İkincisi, fiyatlandırma: Cloudflare daha ucuz ($0.50/milyon vs $0.40/milyon) ve günlük 100.000 istek ücretsiz. Üçüncüsü, execution time: Vercel 30 saniye, Cloudflare default 50ms (Unbound Workers ile 30 saniye). FUTIA'da Next.js projeler için Vercel, yüksek trafik ve maliyet kritik projeler için Cloudflare kullanıyoruz.
Edge Functions maliyeti nasıl hesaplanır?
Vercel'de iki maliyet kalemi var: istek sayısı ve execution time. Pro plan'da ilk 1 milyon istek ücretsiz, sonrası $0.40/milyon istek. Execution time için $2/milyon GB-second. Örnek: 2 milyon istek, her biri 10ms ve 128MB memory kullanıyor. İstek maliyeti: 1M × $0.40 = $0.40. Execution time: 2M × 0.01s × 0.128GB × $2 = $5.12. Toplam $5.52/ay. doktorbul.com'da 2.3M istek ve ortalama 12ms execution time ile $11.84 ödüyoruz. Cloudflare'de sadece istek başına ücret var, execution time ayrı hesaplanmıyor.
Edge Functions'da database'e nasıl bağlanırım?
Direkt PostgreSQL veya MongoDB bağlantısı önerilmez, çünkü connection overhead çok yüksek (150-300ms). Edge'de connection pooling yok, her istek yeni connection açıyor. Bunun yerine üç yaklaşım kullanıyoruz: 1) Vercel KV (Redis benzeri, global replication, 5-10ms latency), 2) PlanetScale gibi HTTP-based database (connection overhead yok), 3) Origin API'ye istek atıp database logic'i orada yapmak. doktorbul.com'da başlangıçta PostgreSQL'e bağlandık, ortalama süre 180ms'ydi. KV'ye geçince 12ms'ye düştü. Basit key-value işleri için KV, karmaşık query'ler için origin API öneriyorum.
Türkiye'den Vercel kullanımı maliyet açısından mantıklı mı?
Dolar kuru nedeniyle zorlaşıyor ama alternatifler de kolay değil. $12/ay bugün 408₺, küçük projeler için yüksek gelebilir. Ama Vercel'in sunduğu developer experience, otomatik SSL, global CDN, zero-config deployment'ı başka yerde bulamıyorsunuz. FUTIA'da şöyle karar veriyoruz: Next.js projeler ve orta-düşük trafik için Vercel (DX çok önemli), yüksek trafik ve framework-agnostic projeler için Cloudflare Workers (çok daha ucuz). Bazı müşterilerimize hybrid yaklaşım öneriyoruz: static sayfalar Vercel'de, dinamik API'ler Cloudflare'de. Kurulum 2-3 gün sürüyor ama uzun vadede maliyet %60-70 düşüyor.
Edge Functions ile SEO performansı nasıl artar?
İki ana etki var: TTFB (Time to First Byte) ve dinamik metadata. doktorbul.com'da TTFB'yi 340ms'den 85ms'ye düşürdük, Google'ın Core Web Vitals'ında önemli. Dinamik metadata için edge'de her sayfa için unique title/description generate ediyoruz, bu programmatic SEO için kritik. Origin server'da yapsaydık 340ms latency olacaktı, edge'de 85ms. Ayrıca A/B test için de kullanıyoruz: diolivo.com.tr'de edge routing ile kullanıcı doğru varyanta yönlendiriliyor, SSR ile ilk render'da flicker olmuyor. Google her zaman aynı versiyonu görüyor, duplicate content problemi yok. 6 ayda %340 trafik artışı gördük, SEO etkisi net.
Bu yazıdaki tekniklerden birini uygulamak ister misiniz? Kısa bir form doldurun, 48 saat içinde ücretsiz ön inceleme raporu mailinize düşsün.