Geleneksel web uygulamalarında yeni bir servis geliştirmek için genellikle aşağıdaki bileşenlere ihtiyaç duyulur:
- Sanal Sunucu
- Kubernetes
- Docker
- Reverse Proxy
- Load Balancer
- İşletim Sistemi
- Runtime (Node.js, Python vb.)
Cloudflare Workers ise bu yaklaşımı değiştirerek kodun doğrudan Cloudflare’ın küresel Edge ağı üzerinde çalışmasını sağlar.
Sunucu yönetmeye gerek kalmadan;
- API geliştirebilir,
- HTTP isteklerini değiştirebilir,
- Header ekleyebilir,
- URL yönlendirebilir,
- JSON üretebilir,
- Authentication yapabilir,
- HTML değiştirebilir
ve bunu dünyanın yüzlerce Cloudflare veri merkezinde milisaniyeler içerisinde çalıştırabilirsiniz.
Edge Computing Nedir?
Cloudflare Workers’ın temelinde Edge Computing bulunur.
Normal uygulama yapısında;
Kullanıcı (Türkiye)
↓
Frankfurt Sunucusu
↓
Response
Her istek origin sunucuya gider.
Workers kullanıldığında ise;
Kullanıcı
↓
Cloudflare İstanbul POP
↓
Worker Çalışır
↓
Gerekirse Origin
Kod kullanıcıya en yakın veri merkezinde çalıştırılır.
Sonuç olarak;
- Daha düşük gecikme
- Daha hızlı API cevapları
- Daha düşük Origin yükü
elde edilir.
Cloudflare Workers Nedir?
Worker;
Cloudflare Edge üzerinde çalışan küçük JavaScript veya TypeScript uygulamalarıdır.
Sunucu kurmanız gerekmez.
Docker gerekmez.
VM gerekmez.
Kubernetes gerekmez.
Sadece kod yazmanız yeterlidir.
Workers Nasıl Çalışır?
İstemci
↓
Cloudflare Edge
↓
Worker
├── JSON Döndür
├── Header Ekle
├── API Çağır
├── HTML Değiştir
└── Origin'e Git
Worker her HTTP isteğinde çalışabilir.
İlk Worker
En basit Worker örneği
export default {
async fetch(request) {
return new Response("Hello T-Cloud!");
},
};
Tarayıcı;
https://worker.example.com
adresine gittiğinde
Hello T-Cloud!
cevabı döner.
Request Nesnesi
Worker gelen isteğe erişebilir.
export default {
async fetch(request) {
console.log(request.method);
console.log(request.url);
return new Response("OK");
}
}
Örneğin;
GET
POST
PUT
DELETE
kontrol edilebilir.
Response Oluşturma
JSON döndürmek oldukça kolaydır.
return Response.json({
status:"success",
version:"1.0"
});
API geliştirmek için oldukça kullanışlıdır.
Header Ekleme
return new Response("Hello", {
headers:{
"x-company":"T-Cloud"
}
});
URL Yönlendirme
Worker URL değiştirebilir.
return Response.redirect(
"https://docs.t-cloud.com.tr",
301
);
Origin’e Gitmeden Cevap Üretme
Worker doğrudan cevap oluşturabilir.
İstemci
↓
Worker
↓
Response
Origin sunucu hiç kullanılmaz.
Origin’e Devam Etme
İstenirse Worker origin sunucuya devam edebilir.
return fetch(request);
Bu yapı sayesinde;
- Header eklenebilir.
- Authentication yapılabilir.
- Log tutulabilir.
- Sonra origin’e gidilebilir.
Routes Nedir?
Worker her istekte çalışmak zorunda değildir.
Belirli URL’lere bağlanabilir.
Örneğin
api.example.com/*
veya
example.com/login/*
Route Örneği
example.com/api/*
↓
Worker
↓
Origin
Bu yapı API geliştirmede oldukça yaygındır.
Workers KV Nedir?
KV (Key Value Store)
Cloudflare’ın dağıtık NoSQL veri saklama servisidir.
Örneğin;
language
↓
tr
veya
theme
↓
dark
şeklinde veri tutulabilir.
KV Kullanım Alanları
- Feature Flags
- Konfigürasyon
- Redirect Listeleri
- Country Mapping
- Session Bilgileri (uygun senaryolarda)
- Cache Metadata
KV Örneği
await env.SETTINGS.get("language");
Cache ile Birlikte Kullanımı
Worker;
Cloudflare Cache’i yönetebilir.
Request
↓
Worker
↓
Cache
↓
Origin
Bu sayede dinamik Cache stratejileri oluşturulabilir.
API Gateway Olarak Kullanımı
Worker;
API Gateway gibi davranabilir.
İstemci
↓
Worker
↓
JWT Kontrolü
↓
Origin API
HTML Değiştirme
Worker;
HTML içerisindeki içerikleri değiştirebilir.
Örneğin;
- Banner ekleme
- Footer değiştirme
- Reklam kaldırma
- Güvenlik Header’ları ekleme
Güvenlik Header’ları
Worker ile aşağıdaki Header’lar eklenebilir.
Strict-Transport-Security
X-Frame-Options
Content-Security-Policy
X-Content-Type-Options
Kullanım Senaryoları
Cloudflare Workers aşağıdaki senaryolarda yaygın olarak kullanılmaktadır.
- REST API
- URL Redirect
- Authentication
- JWT Validation
- API Gateway
- Rate Limiting
- Geo Blocking
- A/B Testing
- Header Manipulation
- Cache Optimization
- HTML Rewrite
- Bot Filtering
- Maintenance Page
- Feature Toggle
Avantajları
✅ Sunucu yönetimi yok
✅ Otomatik ölçeklenme
✅ Çok düşük gecikme
✅ Global Edge
✅ Hızlı geliştirme
✅ Cloudflare servisleriyle entegrasyon
Sınırlamalar
Workers güçlü bir platform olsa da bazı senaryolarda uygun değildir.
Örneğin;
- Uzun süre çalışan işlemler
- Büyük dosya işleme
- Geleneksel veritabanı sunucusu
- Yoğun CPU kullanan uygulamalar
Bu tür iş yükleri için farklı Cloudflare servisleri veya geleneksel sunucu altyapıları daha uygun olabilir.
Best Practices
✅ Worker’ları küçük tutun
Tek bir Worker yerine görev bazlı Worker geliştirin.
✅ Secrets kullanın
API Key ve Token’ları kod içerisine yazmayın.
✅ Routes’ları dikkatli planlayın
Tüm site yerine yalnızca gerekli URL’lerde Worker çalıştırın.
✅ KV’yi konfigürasyon için kullanın
Sık değişmeyen verileri KV’de saklayın.
✅ Origin bağımlılığını azaltın
Mümkün olduğunca Edge üzerinde cevap üretin.
✅ Log ve Analytics’i takip edin
Worker hata oranlarını, çalışma sürelerini ve istek sayılarını düzenli olarak izleyin.
Sık Yapılan Hatalar
❌ Tüm uygulama mantığını tek bir Worker’a yazmak
❌ Hassas bilgileri (API anahtarları, erişim belirteçleri) kaynak koduna gömmek
❌ Her istekte origin sunucuya gereksiz çağrı yapmak
❌ Route desenlerini gereğinden geniş tanımlamak
❌ KV’yi yüksek frekanslı, güçlü tutarlılık gerektiren veriler için kullanmak
Sonuç
Cloudflare Workers, geliştiricilere ve sistem yöneticilerine sunucu yönetimi gerektirmeden küresel ölçekte çalışan uygulamalar geliştirme imkânı sunan güçlü bir Edge Computing platformudur. İstekleri kullanıcıya en yakın Cloudflare veri merkezinde işleyerek gecikmeyi azaltır, origin sunucu üzerindeki yükü hafifletir ve modern web uygulamaları için yüksek performanslı çözümler oluşturulmasını sağlar.
Workers; Routes, KV, Cache ve diğer Cloudflare servisleriyle birlikte kullanıldığında API geliştirme, güvenlik kontrolleri, içerik dönüştürme ve performans optimizasyonu gibi birçok senaryoda esnek ve ölçeklenebilir bir çözüm sunar.
T-Cloud Referans Mimarisi
Kullanıcı
│
▼
Cloudflare Edge Network
│
Workers Route
│
┌──────────────┼──────────────┐
│ │ │
▼ ▼ ▼
Cache Workers KV Origin API
│ │ │
└──────────────┴──────────────┘
│
▼
HTTP Response
Bu mimari, dinamik uygulama mantığının Edge üzerinde çalıştırılmasını, sık erişilen verilerin KV’den okunmasını ve yalnızca gerektiğinde origin sunucuya istek gönderilmesini sağlar.
