Web Hosting Karşılaştırması: Vercel vs Netlify vs AWS

Web Hosting Karşılaştırması: Vercel vs Netlify vs AWS
Modern web uygulamalarını yayınlamak için birçok platform seçeneği bulunmaktadır. Vercel, Netlify ve AWS en popüler hosting çözümleri arasında yer alır ve her birinin kendine özgü güçlü yönleri vardır. Doğru platform seçimi projenizin başarısını, geliştirme hızınızı ve maliyetinizi doğrudan etkiler. Bu rehberde bu üç platformu derinlemesine karşılaştırıyor, hangi durumda hangisini tercih etmeniz gerektiğini gerçek dünya senaryolarıyla açıklıyoruz.
Platform Genel Bakış
| Özellik | Vercel | Netlify | AWS (Amplify) |
|---|---|---|---|
| Odak Alanı | Next.js / Frontend | JAMstack / Static | Full Cloud / Enterprise |
| Deployment | Git push + CLI | Git push + CLI + Drag&Drop | Git push + CLI + Console |
| Edge Network | Global (Anycast) | Global CDN | CloudFront (200+ PoP) |
| Serverless Functions | Node.js, Edge Runtime | Node.js, Go, Rust | Lambda (15+ dil) |
| Free Tier | Hobby (kişisel) | Starter (kişisel) | 12 ay Free Tier |
| Öğrenme Eğrisi | Düşük | Düşük | Yüksek |
Vercel: Next.js'in Doğal Evi
Vercel, Next.js'in yaratıcıları tarafından geliştirilen ve özellikle React/Next.js projeleri için optimize edilmiş bir platformdur.
# Vercel ile deployment
npm i -g vercel
# Otomatik framework algılama ile deploy
vercel
# Production deployment
vercel --prod
# vercel.json konfigürasyonu
{
"framework": "nextjs",
"regions": ["iad1", "fra1", "sin1"],
"crons": [
{
"path": "/api/cron/cleanup",
"schedule": "0 0 * * *"
}
]
}
# Vercel Edge Functions
// app/api/geo/route.ts
export const runtime = 'edge';
export async function GET(request: Request) {
const country = request.headers.get('x-vercel-ip-country');
const city = request.headers.get('x-vercel-ip-city');
return Response.json({ country, city });
}
Vercel Avantajları:
- Next.js için en iyi optimizasyonlar (ISR, Edge Middleware, Image Optimization)
- Her PR için otomatik preview deployment
- Yerleşik analytics ve Speed Insights
- Instant rollback
- Sıfır konfigürasyon deployment
Vercel Dezavantajları:
- Fiyatlandırma yüksek bandwidth kullanımında artabilir
- Serverless function timeout limiti (Hobby: 10s, Pro: 60s)
- Vendor lock-in riski (Next.js'e özel optimizasyonlar)
Netlify: JAMstack'in Öncüsü
Netlify, JAMstack mimarisinin popülerleşmesinde büyük rol oynamış ve statik siteler ile modern web uygulamaları için kapsamlı bir platform sunar.
# Netlify CLI ile deployment
npm i -g netlify-cli
# Giriş ve proje bağlantısı
netlify login
netlify init
# Deploy
netlify deploy --prod
# netlify.toml konfigürasyonu
[build]
command = "npm run build"
publish = ".next"
[build.environment]
NODE_VERSION = "20"
[[redirects]]
from = "/api/*"
to = "/.netlify/functions/:splat"
status = 200
[[headers]]
for = "/fonts/*"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"
# Netlify Functions
// netlify/functions/hello.ts
import type { Handler } from '@netlify/functions';
export const handler: Handler = async (event) => {
const name = event.queryStringParameters?.name || 'Dünya';
return {
statusCode: 200,
body: JSON.stringify({ message: `Merhaba, ${name}!` }),
};
};
Netlify Avantajları:
- Yerleşik form handling (backend gerektirmez)
- Split testing (A/B testing)
- Identity (authentication)
- Large Media (Git LFS alternatifi)
- Framework agnostic
Netlify Dezavantajları:
- Next.js desteği Vercel kadar derin değil
- Build süreleri Vercel'den biraz daha uzun olabilir
- Edge Functions henüz Deno tabanlı (Node.js API tam uyumlu değil)
AWS: Sınırsız Esneklik
AWS, tam kontrol ve sınırsız ölçeklenebilirlik sunar. AWS Amplify ile frontend deployment'ı kolaylaşırken, diğer AWS servisleri ile entegrasyon mükemmeldir.
# AWS Amplify ile deployment
npm i -g @aws-amplify/cli
# Proje başlatma
amplify init
amplify add hosting
amplify publish
# amplify.yml - Build yapılandırması
version: 1
frontend:
phases:
preBuild:
commands:
- npm ci
build:
commands:
- npm run build
artifacts:
baseDirectory: .next
files:
- '**/*'
cache:
paths:
- node_modules/**/*
- .next/cache/**/*
# AWS Lambda Function (API)
// lambda/handler.ts
import { APIGatewayProxyHandler } from 'aws-lambda';
export const handler: APIGatewayProxyHandler = async (event) => {
return {
statusCode: 200,
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
},
body: JSON.stringify({
message: 'Merhaba, AWS Lambda!',
path: event.path,
}),
};
};
AWS Avantajları:
- Tam kontrol ve esneklik
- 200+ servis ile entegrasyon
- Enterprise SLA ve compliance
- En geniş global altyapı
- Maliyet optimizasyonu seçenekleri
AWS Dezavantajları:
- Yüksek öğrenme eğrisi
- Karmaşık fiyatlandırma modeli
- DevOps bilgisi gerektirir
- Preview deployment'lar otomatik değil
Fiyatlandırma Karşılaştırması
| Plan | Vercel | Netlify | AWS Amplify |
|---|---|---|---|
| Free | Hobby: 100GB BW | Starter: 100GB BW | 12 ay: 1000 build dk |
| Pro/Team | $20/üye/ay | $19/üye/ay | Kullanıma göre |
| Enterprise | Özel fiyat | Özel fiyat | Kullanıma göre + destek |
Hangi Durumda Hangisi?
Projenizin ihtiyaçlarına göre platform seçimi:
- Next.js projesi: Vercel (en iyi entegrasyon ve performans)
- Statik site / JAMstack: Netlify (form handling, identity dahil)
- Enterprise / karmaşık backend: AWS (tam kontrol ve esneklik)
- Kişisel proje / portfolio: Vercel veya Netlify (ücretsiz planlar yeterli)
- E-ticaret / yüksek trafik: AWS veya Vercel Enterprise
- Çok dilli / çok bölgeli: AWS CloudFront veya Vercel Edge
output: 'standalone' ayarı ile oluşturduğunuz build, herhangi bir Node.js ortamında çalışabilir. Docker ile paketleme de taşınabilirliği artırır.
Hibrit Yaklaşım
Birçok proje tek bir platformla sınırlı kalmak zorunda değildir:
# Yaygın hibrit mimari örneği:
# - Frontend (Next.js) → Vercel
# - API Backend → AWS Lambda / ECS
# - Veritabanı → AWS RDS / PlanetScale
# - CDN → CloudFront veya Vercel Edge
# - Auth → Auth0 / Clerk
# - Arama → Algolia / Meilisearch
# - E-posta → AWS SES / Resend
# Vercel'de environment variable ile API endpoint tanımlama
NEXT_PUBLIC_API_URL=https://api.example.com
DATABASE_URL=postgresql://...@aws-rds-endpoint:5432/mydb
Sonuç
Platform seçimi projenizin büyüklüğüne, takımınızın deneyimine ve teknik gereksinimlerinize bağlıdır. Vercel, Next.js projeleri için en sorunsuz deneyimi sunar. Netlify, JAMstack ve statik siteler için mükemmel bir seçimdir. AWS, tam kontrol ve enterprise ölçeklenebilirlik gerektiren projeler için idealdir. Küçük projelerde Vercel veya Netlify'ın ücretsiz planlarıyla başlayıp, ihtiyaç büyüdükçe geçiş yapabilirsiniz.