Serverless bilisim, sunuculari yonetmeden kod calistirmanizi saglar. Fonksiyonlar yazarsiniz, deploy edersiniz ve platform olceklendirme, kullanilabilirlik ve altyapiyi yonetir. 2026 da uc platform serverless alaninda hakim: AWS Lambda, Vercel Serverless Functions ve Cloudflare Workers. Her birinin farkli gucleri ve odunleri vardir.
Bu makalede, gercek ornekler, performans degerlendirmeleri ve fiyat analizleriyle bunlari karsilastiriyoruz.
Serverless Nasil Calisir
Bir fonksiyon deploy edersiniz. Bir istek geldiginde platform:
- Bir yurutme ortami baslatir (veya zaten isik bir ortami yeniden kullanir)
- Fonksiyonunuzu calistirir
- Yaniti dondurur
- Bosta kaldikta sifira olceklenir (bos zaman icin odeme yapmazsiniz)
Platform Genel Bakisi
AWS Lambda
Orijinal serverless platform (2014 te lansman). En olgun ve ozellik bakimindan zengin, AWS ekosistemiyle derin entegrasyon.
// AWS Lambda handler export const handler = async (event) => { const body = JSON.parse(event.body); const result = await processData(body); return { statusCode: 200, headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(result), }; };
Vercel Serverless Functions
Next.js ve frontend deploy is akisiyla sikica entegre. Fonksiyonlar frontend inizle birlikte sifir yapilandirmayla deploy edilir.
// app/api/hello/route.ts (Next.js App Router) import { NextResponse } from 'next/server'; export async function GET(request: Request) { const { searchParams } = new URL(request.url); const name = searchParams.get('name') || 'World'; return NextResponse.json({ message: `Hello, ${name}!` }); }
Cloudflare Workers
Dunya genelinde 300 den fazla sehirde Cloudflare in edge aginda calisir. Node.js yerine V8 motorunu (Chrome ile ayni) kullanir, bu da son derece hizli cold start anlamina gelir.
// Cloudflare Worker export default { async fetch(request, env) { const url = new URL(request.url); const name = url.searchParams.get('name') || 'World'; return new Response( JSON.stringify({ message: `Hello, ${name}!` }), { headers: { 'Content-Type': 'application/json' } } ); }, };
Ozellik Karsilastirmasi
| Ozellik | AWS Lambda | Vercel Functions | Cloudflare Workers |
|---|---|---|---|
| Runtime | Node.js, Python, Go, Rust, Java, .NET | Node.js, Python, Go, Ruby | V8 Isolates (JS/TS, Rust via WASM) |
| Maks yurutme suresi | 15 dakika | 60s (Hobby), 300s (Pro) | 30s (ucretsiz), 15dk (ucretli) |
| Bellek | 128MB - 10GB | 1024MB - 3008MB | 128MB |
| Cold start | 100-500ms | 100-300ms | < 5ms |
| Deploy konumu | Tek bolge (veya caba ile coklu) | Birden fazla bolge | 300+ edge konumu |
| Maks payload | 6MB (senkron), 256KB (asenkron) | 4.5MB | 100MB |
| Dahili depolama | Hayir (DynamoDB, S3 kullanin) | Hayir (harici DB kullanin) | KV, D1 (SQLite), R2 (S3 uyumlu) |
| Fiyat modeli | Istek basina + sure | Plana dahil | Istek basina + sure |
| Ucretsiz katman | 1M istek/ay | 100K/ay (Hobby) | 100K istek/gun |
Cold Start
Cold start, yeni bir fonksiyon ornegini baslatmak icin gereken suredir. Bu, serverless ile ilgili en buyuk performans endisesidir.
| Platform | Tipik Cold Start | Neden |
|---|---|---|
| Cloudflare Workers | < 5ms | V8 izolasyonlari, tam runtime gerekli degil |
| Vercel Functions | 100-300ms | Edge veya bolgesel Node.js runtime |
| AWS Lambda | 100-500ms | Tam konteyner baslatma |
| AWS Lambda (Java) | 1-5 saniye | JVM baslangic yuku |
Cloudflare Workers, konteynerler yerine V8 izolasyonlari kullandigi icin cold start larda buyuk farkla kazanir.
Fiyat Karsilastirmasi
Ucretsiz Katman
| Platform | Ucretsiz Istekler | Ucretsiz Bilisim |
|---|---|---|
| AWS Lambda | 1M/ay | 400.000 GB-saniye |
| Vercel | 100K/ay | Hobby planina dahil |
| Cloudflare Workers | 100K/gun (~3M/ay) | Cagri basina 10ms CPU |
Buyuk Olcekte (10M istek/ay, ortalama 50ms sure)
| Platform | Tahmini Aylik Maliyet |
|---|---|
| AWS Lambda | ~$2,50 (istekler) + |
| Vercel | $20/ay (Pro plan, fonksiyonlar dahil) |
| Cloudflare Workers | $5/ay (ucretli plan, 10M istek dahil) |
Cogu kullanim senaryosu icin Cloudflare Workers en ucuzudur. Vercel in fiyatlandirmasi basittir ancak tum platformu (barindirma, CDN, analitik) icerir. AWS Lambda en ayrintili fiyatlandirmaya sahiptir.
Gercek Dunya Kullanim Senaryolari
AWS Lambda: En Iyi Olan
- Karmasik backend is akislari - step functions, olay tabanli mimariler
- AWS hizmetleriyle entegrasyon - S3 tetikleyicileri, DynamoDB akislari, SQS kuyruklari
- Uzun sureli gorevler - 15 dakikaya kadar yurutme suresi
- Cok dilli ekipler - en genis runtime yelpazesini destekler
Vercel Functions: En Iyi Olan
- Next.js uygulamalari - sifir yapilandirma API rotalari
- Frontend odakli ekipler - frontend ve backend i birlikte deploy edin
- Hizli prototipleme - git push ile deploy
- Jamstack mimarileri - statik frontend + serverless API
// app/api/subscribe/route.ts import { NextResponse } from 'next/server'; export async function POST(request: Request) { const { email } = await request.json(); // Validate if (!email || !email.includes('@')) { return NextResponse.json( { error: 'Invalid email' }, { status: 400 } ); } // Save to database await db.subscribers.create({ email }); return NextResponse.json({ success: true }); }
Cloudflare Workers: En Iyi Olan
- Dusuk gecikmeli API ler - kod dunya genelinde 300 den fazla konumda calisir
- Edge computing - yanitlari donusturme, A/B testi, kisisellestirme
- Yuksek hacimli API ler - comert ucretsiz katmanla buyuk olcekte en ucuz
- Kuresel uygulamalar - KV ve D1 ile kullanicilara yakin veri
// Edge-side A/B test export default { async fetch(request, env) { const url = new URL(request.url); // Assign user to variant const cookie = request.headers.get('Cookie') || ''; let variant = cookie.includes('ab=b') ? 'b' : 'a'; if (!cookie.includes('ab=')) { variant = Math.random() < 0.5 ? 'a' : 'b'; } // Fetch the appropriate version const response = await fetch(`${url.origin}/variants/${variant}`); const newResponse = new Response(response.body, response); // Set cookie for consistent experience newResponse.headers.set('Set-Cookie', `ab=${variant}; Path=/; Max-Age=86400`); return newResponse; }, };
Hangisini Ne Zaman Secmeli
AWS Lambda yi secin eger:
- Zaten AWS ekosistemine yatirim yaptiysamz
- Uzun sureli fonksiyonlara ihtiyaciniz varsa (15 dakikaya kadar)
- Karmasik olay tabanli mimarilere ihtiyaciniz varsa
- JavaScript disinda runtime lara ihtiyaciniz varsa (Python, Go, Rust, Java)
Vercel Functions i secin eger:
- Next.js veya bir frontend cercevesiyle gelistiriyorsaniz
- En basit deploy deneyimini istiyorsaniz (git push)
- Ekibiniz frontend odakli ise
- Tek bir platformda barindirma + fonksiyonlar + CDN istiyorsaniz
Cloudflare Workers i secin eger:
- Kuresel olarak mumkun olan en dusuk gecikmeye ihtiyaciniz varsa
- Buyuk olcekte en ucuz secenegi istiyorsaniz
- Edge computing yeteneklerine ihtiyaciniz varsa
- Cold start suresi kullanim durumunuz icin kritikse
Bunlari Birlestirebilir misiniz?
Kesinlikle. Yaygin bir mimari:
- Cloudflare Workers: edge yonlendirme, onbellekleme, guvenlik
- Vercel Functions: frontend API rotalari, SSR
- AWS Lambda: agir backend isleme, zamanlanmis gorevler, olay boru hatlari
Sonuc
Serverless onemli olcude olgunlasti. 2026 da, AWS Lambda, Vercel Functions ve Cloudflare Workers arasindaki secim stack inize ve onceliklerinize baglidir:
- En basit gelistirici deneyimi: Vercel
- En guclu ve esnek: AWS Lambda
- En iyi performans ve fiyatlandirma: Cloudflare Workers
Ucu de uretim ortamina hazir ve savas alaninda test edilmistir. Mevcut stack inize uyan ile baslayin ve ihtiyaclariniz buyudukce genisletin.